-extern crate glutin;
-
use cgmath::{Matrix4, Vector4};
use cgmath::conv::array4x4;
-use glutin::WindowEvent::{KeyboardInput, MouseMoved};
-use glutin::VirtualKeyCode;
+use glium;
+use glium::glutin::event::{ ElementState, VirtualKeyCode, WindowEvent };
use std::f32;
use std::f32::consts::PI;
-use support::vec3::Vec3;
-use support::vec3::norm;
+use crate::support::vec3::Vec3;
+use crate::support::vec3::norm;
#[derive(Default)]
pub struct CameraState {
//println!("camera_dir = {:?}", self.dir);
}
- pub fn process_input(&mut self, event: &glutin::WindowEvent) {
+ pub fn process_input(&mut self, event: &WindowEvent) {
+ //println!("camera event={:?}", event);
match event {
- &MouseMoved { position: (x, y), .. } => {
- let (x, y) = (x as i32, y as i32);
+ &WindowEvent::CursorMoved { position, .. } => {
+ let (x, y) = (position.x as i32, position.y as i32);
if self.mouse_x == -1 {
// Set initial absolute position.
self.mouse_x = x;
self.mouse_x = x;
self.mouse_y = y;
}
- &KeyboardInput { input, .. } => {
- let pressed = input.state == glutin::ElementState::Pressed;
+ &WindowEvent::KeyboardInput { input, .. } => {
+ let pressed = input.state == ElementState::Pressed;
let key = match input.virtual_keycode {
Some(key) => key,
None => return,