diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-06-06 17:23:54 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-06-06 17:23:54 +0200 |
| commit | a5943ae8b445a79f78b0b26035c4e55a0e927f52 (patch) | |
| tree | e703ae7b13c9cb031b623a49810abffa45a2fc95 /src | |
| download | rutikmer-a5943ae8b445a79f78b0b26035c4e55a0e927f52.tar.gz rutikmer-a5943ae8b445a79f78b0b26035c4e55a0e927f52.tar.bz2 rutikmer-a5943ae8b445a79f78b0b26035c4e55a0e927f52.zip | |
Initial commit
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..6c9d2ee --- /dev/null +++ b/src/main.rs @@ -0,0 +1,50 @@ +use std::time::SystemTime; +use sdl2::ttf; +use sdl2::event::Event; +use sdl2::keyboard::Keycode; +use sdl2::pixels::Color; + +fn main() { + let sdl = sdl2::init().unwrap(); + let video_subsys = sdl.video().unwrap(); + let ttf = ttf::init().unwrap(); + let font = ttf.load_font("font/FiraMono-Regular.ttf", 40).unwrap(); + + let window = video_subsys + .window("rutikmer", 640, 480) + .build() + .unwrap(); + + let mut timming = false; + let mut time_start = SystemTime::now(); + + let mut canvas = window.into_canvas().build().unwrap(); + let texture_creator = canvas.texture_creator(); + + let mut event_pump = sdl.event_pump().unwrap(); + 'running: loop { + for e in event_pump.poll_iter() { + match e { + Event::Quit {..} | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => break 'running, + Event::KeyDown { keycode: Some(Keycode::Space), .. } => { + timming = !timming; + if timming { + time_start = SystemTime::now(); + } + }, + _ => {} + } + } + + canvas.set_draw_color(if !timming { Color::RGB(0, 0, 0) } else { Color::RGB(30, 150, 30) }); + canvas.clear(); + if timming { + let surface = font.render(&time_start.elapsed().unwrap().as_millis().to_string()) + .solid(Color::RGB(255, 255, 255)) + .unwrap(); + let tex = texture_creator.create_texture_from_surface(&surface).unwrap(); + canvas.copy(&tex, None, None).unwrap(); + } + canvas.present(); + } +} |
