浏览代码

reset key

Johann Woelper 6 年之前
父节点
当前提交
6624f38213
共有 1 个文件被更改,包括 35 次插入18 次删除
  1. 35 18
      src/main.rs

+ 35 - 18
src/main.rs

@@ -20,10 +20,10 @@ fn main() {
         )
         .get_matches();
 
-    let img = matches.value_of("INPUT").unwrap();
+    let img_path = matches.value_of("INPUT").unwrap();
 
     let opengl = OpenGL::V3_2;
-    let mut window: PistonWindow = WindowSettings::new("Oculante", [800, 800])
+    let mut window: PistonWindow = WindowSettings::new("Oculante", [1000, 800])
         .exit_on_esc(true)
         .graphics_api(opengl)
         .build()
@@ -35,7 +35,7 @@ fn main() {
 
     match Texture::from_path(
         &mut window.create_texture_context(),
-        &img,
+        &img_path,
         Flip::None,
         &tx_settings,
     ) {
@@ -45,19 +45,23 @@ fn main() {
             let mut scale = 1.0;
             let mut drag = false;
             let mut events = Events::new(EventSettings::new().lazy(true));
-
+            let mut reset = false;
+            // let mut glyphs = window.load_font("OpenSans-Regular.ttf").unwrap();
   
             while let Some(e) = events.next(&mut window) {
                 
 
-                if let Some(Button::Mouse(_)) = e.press_args() {
-                    drag = true;
-                }
+                if let Some(Button::Mouse(_)) = e.press_args() {drag = true;}
+                if let Some(Button::Mouse(_)) = e.release_args() {drag = false;}
 
-                if let Some(Button::Mouse(_)) = e.release_args() {
-                    drag = false;
+                if let Some(Button::Keyboard(key)) = e.press_args() {
+                        if key == Key::R {
+                            reset = true;
+                        }
+                        println!("Pressed keyboard key '{:?}'", key);
                 };
 
+
                 e.mouse_scroll(|d| {
                     if d[1] > 0.0 {
                         scale += 0.2;
@@ -75,15 +79,28 @@ fn main() {
                     println!("Resized '{}, {}'", args.window_size[0], args.window_size[1])
                 });
     
-                    
-                if let Some(args) = e.render_args() {
-                    window.draw_2d(&e, |c, gfx, _device| {
-                        clear([0.2; 4], gfx);
-                        // c.trans(111.0,1.0);
-                        let transform = c.transform.trans(offset.0, offset.1).scale(scale, scale);
-                        image(&texture, transform, gfx);
-                    });
-                } 
+                window.draw_2d(&e, |c, gfx, _device| {
+                    clear([0.2; 4], gfx);
+                    // c.trans(111.0,1.0);
+                    if reset {
+                        println!("reset");
+                        offset = (0.0,0.0);
+                        scale = 1.0;
+                        reset = false;
+                    }
+                    let transform = c.transform.trans(offset.0, offset.1).scale(scale, scale);
+
+                    image(&texture, transform, gfx);
+                
+                    // text::Text::new_color([0.8, 0.8, 1.0, 1.0], 32).draw(
+                    //     "sdsdsdsd",
+                    //     &mut glyphs,
+                    //     &c.draw_state,
+                    //     c.transform.trans(10.0, 20.0), gfx
+                    // ).unwrap();
+                
+                });
+