From acb12f9b0567684d39786a9e2e718ebce3ec73bf Mon Sep 17 00:00:00 2001 From: Dan Spencer Date: Thu, 21 May 2015 08:44:14 -0600 Subject: [PATCH] Update examples --- examples/demo.rs | 5 ++-- examples/game_controller.rs | 6 ++-- examples/joystick.rs | 6 ++-- examples/renderer-texture.rs | 5 ++-- examples/renderer-yuv.rs | 5 ++-- examples/window-properties.rs | 52 +++++++++++++++++++++++++++++++++++ 6 files changed, 62 insertions(+), 17 deletions(-) create mode 100644 examples/window-properties.rs diff --git a/examples/demo.rs b/examples/demo.rs index 675c762d..434e54fd 100644 --- a/examples/demo.rs +++ b/examples/demo.rs @@ -4,7 +4,7 @@ use sdl2::pixels::Color; use sdl2::keycode::KeyCode; pub fn main() { - let sdl_context = sdl2::init().video().unwrap(); + let mut sdl_context = sdl2::init().video().unwrap(); let window = sdl_context.window("rust-sdl2 demo: Video", 800, 600) .position_centered() @@ -20,10 +20,9 @@ pub fn main() { drawer.present(); let mut running = true; - let mut event_pump = sdl_context.event_pump(); while running { - for event in event_pump.poll_iter() { + for event in sdl_context.event_pump().poll_iter() { use sdl2::event::Event; match event { diff --git a/examples/game_controller.rs b/examples/game_controller.rs index e2829f94..9ac0f27b 100644 --- a/examples/game_controller.rs +++ b/examples/game_controller.rs @@ -4,7 +4,7 @@ use sdl2::{joystick, controller}; use sdl2::controller::GameController; fn main() { - let sdl_context = sdl2::init().game_controller().unwrap(); + let mut sdl_context = sdl2::init().game_controller().unwrap(); let available = match joystick::num_joysticks() { @@ -46,9 +46,7 @@ fn main() { println!("Controller mapping: {}", controller.mapping()); - let mut event_pump = sdl_context.event_pump(); - - for event in event_pump.wait_iter() { + for event in sdl_context.event_pump().wait_iter() { use sdl2::event::Event; match event { diff --git a/examples/joystick.rs b/examples/joystick.rs index 03f22728..14e2b2aa 100644 --- a/examples/joystick.rs +++ b/examples/joystick.rs @@ -3,7 +3,7 @@ extern crate sdl2; use sdl2::joystick::{Joystick, num_joysticks}; fn main() { - let sdl_context = sdl2::init().joystick().unwrap(); + let mut sdl_context = sdl2::init().joystick().unwrap(); let available = match num_joysticks() { @@ -32,9 +32,7 @@ fn main() { panic!("Couldn't open any joystick"); }; - let mut event_pump = sdl_context.event_pump(); - - for event in event_pump.wait_iter() { + for event in sdl_context.event_pump().wait_iter() { use sdl2::event::Event; match event { diff --git a/examples/renderer-texture.rs b/examples/renderer-texture.rs index 5079178c..58669312 100644 --- a/examples/renderer-texture.rs +++ b/examples/renderer-texture.rs @@ -5,7 +5,7 @@ use sdl2::rect::Rect; use sdl2::keycode::KeyCode; pub fn main() { - let sdl_context = sdl2::init().video().unwrap(); + let mut sdl_context = sdl2::init().video().unwrap(); let window = sdl_context.window("rust-sdl2 demo: Video", 800, 600) .position_centered() @@ -35,10 +35,9 @@ pub fn main() { drawer.present(); let mut running = true; - let mut event_pump = sdl_context.event_pump(); while running { - for event in event_pump.poll_iter() { + for event in sdl_context.event_pump().poll_iter() { use sdl2::event::Event; match event { diff --git a/examples/renderer-yuv.rs b/examples/renderer-yuv.rs index ca3d7d44..bfc7a18a 100644 --- a/examples/renderer-yuv.rs +++ b/examples/renderer-yuv.rs @@ -5,7 +5,7 @@ use sdl2::rect::Rect; use sdl2::keycode::KeyCode; pub fn main() { - let sdl_context = sdl2::init().video().unwrap(); + let mut sdl_context = sdl2::init().video().unwrap(); let window = sdl_context.window("rust-sdl2 demo: Video", 800, 600) .position_centered() @@ -51,10 +51,9 @@ pub fn main() { drawer.present(); let mut running = true; - let mut event_pump = sdl_context.event_pump(); while running { - for event in event_pump.poll_iter() { + for event in sdl_context.event_pump().poll_iter() { use sdl2::event::Event; match event { diff --git a/examples/window-properties.rs b/examples/window-properties.rs new file mode 100644 index 00000000..12270052 --- /dev/null +++ b/examples/window-properties.rs @@ -0,0 +1,52 @@ +extern crate sdl2; + +use sdl2::pixels::Color; + +pub fn main() { + let mut sdl_context = sdl2::init().video().unwrap(); + + let window = sdl_context.window("rust-sdl2 demo: Window", 800, 600) + .resizable() + .build() + .unwrap(); + + let mut renderer = window.renderer().present_vsync().build().unwrap(); + + let mut running = true; + let mut tick = 0; + + while running { + for event in sdl_context.event_pump().poll_iter() { + use sdl2::event::Event; + use sdl2::keycode::KeyCode; + + match event { + Event::Quit {..} | Event::KeyDown { keycode: KeyCode::Escape, .. } => { + running = false + }, + _ => {} + } + } + + { + // Update the window title. + // &sdl_context is needed to safely access the Window and to ensure that the event loop + // isn't running (which could mutate the Window). + + // Note: if you don't use renderer: window.properties(&sdl_context); + let mut props = renderer.window_properties(&sdl_context).unwrap(); + + let position = props.get_position(); + let size = props.get_size(); + let title = format!("Window - pos({}x{}), size({}x{}): {}", position.0, position.1, size.0, size.1, tick); + props.set_title(&title).unwrap(); + + tick += 1; + } + + let mut drawer = renderer.drawer(); + drawer.set_draw_color(Color::RGB(0, 0, 0)); + drawer.clear(); + drawer.present(); + } +}