Vsync instead of fps + print display modes
[kaka/rust-sdl-test.git] / src / main.rs
index 18a29b6..217918c 100644 (file)
@@ -28,7 +28,12 @@ const NS_PER_FRAME: u32 = 1_000_000_000 / FPS;
 
 fn main() {
     println!("starting...");
-    let mut app = App::new();
+    let mut app = App::new()
+       .with_resolution(SCREEN_WIDTH as u16, SCREEN_HEIGHT as u16)
+       .with_state(Box::new(ActiveState::new()))
+       .with_title("SDL test")
+       .build()
+       .unwrap();
     app.load_sprites(&[
         ("block", "res/block.bmp"),
         ("mario", "res/mario-trans.png"),
@@ -49,9 +54,9 @@ fn main() {
             let offset = point!((SCREEN_WIDTH as i32 - (blocks + 1) * size) / 2, (SCREEN_HEIGHT as i32 - (blocks + 1) * size) / 2);
             let block = app.sprites.get("block");
             for i in 0..blocks {
-                app.canvas.copy(block, None, Rect::new((i) * size + offset.x, (0) * size + offset.y, size as u32, size as u32)).unwrap();
+                app.canvas.copy(block, None, Rect::new((i) * size + offset.x, offset.y, size as u32, size as u32)).unwrap();
                 app.canvas.copy(block, None, Rect::new((blocks - i) * size + offset.x, (blocks) * size + offset.y, size as u32, size as u32)).unwrap();
-                app.canvas.copy(block, None, Rect::new((0) * size + offset.x, (blocks - i) * size + offset.y, size as u32, size as u32)).unwrap();
+                app.canvas.copy(block, None, Rect::new(offset.x, (blocks - i) * size + offset.y, size as u32, size as u32)).unwrap();
                 app.canvas.copy(block, None, Rect::new((blocks) * size + offset.x, (i) * size + offset.y, size as u32, size as u32)).unwrap();
             }
         }