Skip to content

Instantly share code, notes, and snippets.

@drbawb
Created January 6, 2015 22:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drbawb/3488d741c436e6be9d39 to your computer and use it in GitHub Desktop.
Save drbawb/3488d741c436e6be9d39 to your computer and use it in GitHub Desktop.
[package]
name = "sdl-timer-ex"
version = "0.0.1"
[dependencies]
sdl2 = "*"
extern crate sdl2;
pub fn main() {
sdl2::init(sdl2::INIT_VIDEO);
let window = match sdl2::video::Window::new("rust-sdl2 demo: Video", sdl2::video::WindowPos::PosCentered, sdl2::video::WindowPos::PosCentered, 800, 600, sdl2::video::OPENGL) {
Ok(window) => window,
Err(err) => panic!(format!("failed to create window: {}", err))
};
let renderer = match sdl2::render::Renderer::from_window(window, sdl2::render::RenderDriverIndex::Auto, sdl2::render::ACCELERATED) {
Ok(renderer) => renderer,
Err(err) => panic!(format!("failed to create renderer: {}", err))
};
let _ = renderer.set_draw_color(sdl2::pixels::Color::RGB(255, 0, 0));
let _ = renderer.clear();
renderer.present();
let t = tick();
'main : loop {
'event : loop {
match sdl2::event::poll_event() {
sdl2::event::Event::Quit(_) => break 'main,
sdl2::event::Event::KeyDown(_, _, key, _, _, _) => {
if key == sdl2::keycode::KeyCode::Escape {
break 'main
}
},
sdl2::event::Event::None => break 'event,
_ => {}
}
}
}
sdl2::quit();
}
fn tick<'a>() -> sdl2::timer::Timer<'a> {
let mut timer = sdl2::timer::Timer::new(3000, box |&:| { println!("hi"); 0 });
timer.start();
return timer;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment