diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 44 | 
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..a3bcca1 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,44 @@ +extern crate sdl2; + +use sdl2::event::Event; +use sdl2::keyboard::Keycode; +use sdl2::pixels::Color; +use std::time::Duration; + +pub fn main() { +  let sdl_context = sdl2::init().unwrap(); +  let video_subsystem = sdl_context.video().unwrap(); + +  let window = video_subsystem +    .window("hentai", 800, 600) +    .position_centered() +    .build() +    .unwrap(); + +  let mut canvas = window.into_canvas().build().unwrap(); + +  canvas.set_draw_color(Color::RGB(0, 255, 255)); +  canvas.clear(); +  canvas.present(); +  let mut event_pump = sdl_context.event_pump().unwrap(); +  let mut i = 0; +  'running: loop { +    i = (i + 1) % 255; +    canvas.set_draw_color(Color::RGB(i, 64, 255 - i)); +    canvas.clear(); +    for event in event_pump.poll_iter() { +      match event { +        Event::Quit { .. } +        | Event::KeyDown { +          keycode: Some(Keycode::Escape), +          .. +        } => break 'running, +        _ => {} +      } +    } +    // The rest of the game loop goes here... + +    canvas.present(); +    ::std::thread::sleep(Duration::new(0, 1_000_000_000u32 / 60)); +  } +}  |