Shorten glutin symbols in camera.
[mandelwow.git] / support / camera.rs
index 10ad1f0086d17e396a3f5a6075443f80be39e2ed..67beeacd19f8ed48418281e2e1a42571ba8d98f2 100644 (file)
@@ -1,12 +1,15 @@
 extern crate glutin;
 
+use glutin::ElementState::{Pressed, Released};
+use glutin::Event::KeyboardInput;
+use glutin::VirtualKeyCode;
 use support::vec3::Vec3;
 use support::vec3::norm;
 
 use std::f32;
 
 //use glutin::Event;
-//use glutin::VirtualKeyCode;
+//use VirtualKeyCode;
 
 #[derive(Default)]
 pub struct CameraState {
@@ -31,7 +34,7 @@ impl CameraState {
         CameraState {
             aspect_ratio: 1024.0 / 768.0,
             pos: Vec3(0.0, 0.0, 0.0),
-            dir: Vec3(0.0, 0.0, 1.0),
+            dir: Vec3(0.0, 0.0, -1.0),
             .. Default::default()
         }
     }
@@ -40,6 +43,10 @@ impl CameraState {
         self.pos = pos;
     }
 
+    pub fn get_pos(&self) -> Vec3 {
+        self.pos
+    }
+
     pub fn set_dir(&mut self, dir: Vec3) {
         self.dir = dir;
     }
@@ -60,7 +67,6 @@ impl CameraState {
         ]
     }
 
-
     pub fn get_view(&self) -> [[f32; 4]; 4] {
         let f = norm(&self.dir);
 
@@ -128,11 +134,11 @@ impl CameraState {
             self.pos.2 -= f.2 * 0.01;
         }
         if self.turning_left {
-            let a: f32 = -0.05;
+            let a: f32 = 0.05;
             self.dir = Vec3(f.0 * a.cos() + f.2 * a.sin(), f.1, - f.0 * a.sin() + f.2 * a.cos());
         }
         if self.turning_right {
-            let a: f32 = 0.05;
+            let a: f32 = -0.05;
             self.dir = Vec3(f.0 * a.cos() + f.2 * a.sin(), f.1, - f.0 * a.sin() + f.2 * a.cos());
         }
         if self.turning_up {
@@ -149,64 +155,64 @@ impl CameraState {
 
     pub fn process_input(&mut self, event: &glutin::Event) {
         match event {
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Up)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::Up)) => {
                 self.moving_up = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Up)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::Up)) => {
                 self.moving_up = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Down)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::Down)) => {
                 self.moving_down = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Down)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::Down)) => {
                 self.moving_down = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Left)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::Left)) => {
                 self.moving_left = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Left)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::Left)) => {
                 self.moving_left = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::Right)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::Right)) => {
                 self.moving_right = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::Right)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::Right)) => {
                 self.moving_right = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::A)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::A)) => {
                 self.turning_left = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::A)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::A)) => {
                 self.turning_left = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::D)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::D)) => {
                 self.turning_right = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::D)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::D)) => {
                 self.turning_right = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::W)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::W)) => {
                 self.moving_forward = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::W)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::W)) => {
                 self.moving_forward = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::S)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::S)) => {
                 self.moving_backward = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::S)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::S)) => {
                 self.moving_backward = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::R)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::R)) => {
                 self.turning_up = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::R)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::R)) => {
                 self.turning_up = false;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Pressed, _, Some(glutin::VirtualKeyCode::F)) => {
+            &KeyboardInput(Pressed, _, Some(VirtualKeyCode::F)) => {
                 self.turning_down = true;
             },
-            &glutin::Event::KeyboardInput(glutin::ElementState::Released, _, Some(glutin::VirtualKeyCode::F)) => {
+            &KeyboardInput(Released, _, Some(VirtualKeyCode::F)) => {
                 self.turning_down = false;
             },
             _ => {}