use sdl2::{event::Event, init, keyboard::Keycode, pixels::Color}; fn main() { let ctx = init().unwrap(); let vid = ctx.video().unwrap(); let win = vid .window("medit", 800, 600) .position_centered() .build() .unwrap(); let mut can = win.into_canvas().build().unwrap(); can.set_draw_color(Color::RGB(0, 255, 255)); can.clear(); can.present(); let mut event_pump = ctx.event_pump().unwrap(); let mut i = 0; 'running: loop { i = (i + 1) % 255; can.set_draw_color(Color::RGB(i, 64, 255 - i)); can.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... can.present(); std::thread::sleep(std::time::Duration::new(0, 1_000_000_000u32 / 60)); } }