From 877bb42cbb4bb94e96a2212eb6201f65fad9236d Mon Sep 17 00:00:00 2001 From: Machtan Date: Thu, 11 Feb 2016 21:15:31 +0100 Subject: [PATCH] Make all examples work and all tests pass after the error/rect changes --- Cargo.toml | 2 +- README.md | 2 +- examples/audio-squarewave.rs | 3 ++- examples/audio-wav.rs | 3 ++- examples/audio-whitenoise.rs | 5 +++-- examples/keyboard-state.rs | 3 ++- examples/renderer-texture.rs | 11 +++++++---- examples/renderer-yuv.rs | 5 +++-- examples/window-properties.rs | 5 +++-- src/sdl2/audio.rs | 3 ++- src/sdl2/event.rs | 2 +- src/sdl2/render.rs | 4 ++-- src/sdl2/timer.rs | 14 ++++++++++---- tests/events.rs | 23 +++++++++++++---------- 14 files changed, 52 insertions(+), 33 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 76ec3f6b..48854b9a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ name = "sdl2" description = "SDL2 bindings for Rust" repository = "https://github.com/AngryLawyer/rust-sdl2" documentation = "http://angrylawyer.github.io/rust-sdl2/sdl2/" -version = "0.14.0" +version = "0.15.0" license = "MIT" authors = [ "Tony Aldridge " ] keywords = ["SDL", "windowing", "graphics"] diff --git a/README.md b/README.md index c69b8319..64725473 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ download through Crates.io: ```toml [dependencies] - sdl2 = "0.14" + sdl2 = "0.15" ``` Alternatively, pull it from GitHub diff --git a/examples/audio-squarewave.rs b/examples/audio-squarewave.rs index 1146d155..ce518668 100644 --- a/examples/audio-squarewave.rs +++ b/examples/audio-squarewave.rs @@ -1,6 +1,7 @@ extern crate sdl2; use sdl2::audio::{AudioCallback, AudioSpecDesired}; +use std::time::Duration; struct SquareWave { phase_inc: f32, @@ -49,7 +50,7 @@ fn main() { device.resume(); // Play for 2 seconds - std::thread::sleep_ms(2000); + std::thread::sleep(Duration::from_millis(2000)); // Device is automatically closed when dropped } diff --git a/examples/audio-wav.rs b/examples/audio-wav.rs index 0b389b2c..5588a27e 100644 --- a/examples/audio-wav.rs +++ b/examples/audio-wav.rs @@ -1,6 +1,7 @@ extern crate sdl2; use sdl2::audio::{AudioCallback, AudioSpecDesired,AudioSpecWAV,AudioCVT}; +use std::time::Duration; // NOTE: You probably want to investigate SDL_Mixer // (https://github.com/andelf/rust-sdl2_mixer) for real use cases. @@ -57,7 +58,7 @@ fn main() { device.resume(); // Play for a second - std::thread::sleep_ms(1000); + std::thread::sleep(Duration::from_millis(1000)); // Device is automatically closed when dropped } diff --git a/examples/audio-whitenoise.rs b/examples/audio-whitenoise.rs index 4e36abc7..3b81860d 100644 --- a/examples/audio-whitenoise.rs +++ b/examples/audio-whitenoise.rs @@ -2,6 +2,7 @@ extern crate sdl2; extern crate rand; use sdl2::audio::{AudioCallback, AudioSpecDesired}; +use std::time::Duration; struct MyCallback { volume: f32 @@ -42,7 +43,7 @@ fn main() { device.resume(); // Play for 1 second - std::thread::sleep_ms(1000); + std::thread::sleep(Duration::from_millis(1000)); { // Acquire a lock. This lets us read and modify callback data. @@ -52,7 +53,7 @@ fn main() { } // Play for another second - std::thread::sleep_ms(1000); + std::thread::sleep(Duration::from_millis(1000)); // Device is automatically closed when dropped } diff --git a/examples/keyboard-state.rs b/examples/keyboard-state.rs index 2c8473c7..e8aa740b 100644 --- a/examples/keyboard-state.rs +++ b/examples/keyboard-state.rs @@ -3,6 +3,7 @@ extern crate sdl2; use sdl2::event::Event; use sdl2::keyboard::Keycode; use std::collections::HashSet; +use std::time::Duration; pub fn main() { let sdl_context = sdl2::init().unwrap(); @@ -38,6 +39,6 @@ pub fn main() { prev_keys = keys; - std::thread::sleep_ms(100); + std::thread::sleep(Duration::from_millis(100)); } } diff --git a/examples/renderer-texture.rs b/examples/renderer-texture.rs index a2125c5b..2036e1e4 100644 --- a/examples/renderer-texture.rs +++ b/examples/renderer-texture.rs @@ -17,7 +17,8 @@ pub fn main() { let mut renderer = window.renderer().build().unwrap(); - let mut texture = renderer.create_texture_streaming(PixelFormatEnum::RGB24, (256, 256)).unwrap(); + let mut texture = renderer.create_texture_streaming( + PixelFormatEnum::RGB24, 256, 256).unwrap(); // Create a red-green gradient texture.with_lock(None, |buffer: &mut [u8], pitch: usize| { for y in 0..256 { @@ -31,8 +32,9 @@ pub fn main() { }).unwrap(); renderer.clear(); - renderer.copy(&texture, None, Some(Rect::new(100, 100, 256, 256).unwrap())); - renderer.copy_ex(&texture, None, Some(Rect::new(450, 100, 256, 256).unwrap()), 30.0, None, (false, false)); + renderer.copy(&texture, None, Some(Rect::new(100, 100, 256, 256))); + renderer.copy_ex(&texture, None, + Some(Rect::new(450, 100, 256, 256)), 30.0, None, false, false).unwrap(); renderer.present(); let mut event_pump = sdl_context.event_pump().unwrap(); @@ -40,7 +42,8 @@ pub fn main() { 'running: loop { for event in event_pump.poll_iter() { match event { - Event::Quit {..} | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => { + Event::Quit {..} + | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => { break 'running }, _ => {} diff --git a/examples/renderer-yuv.rs b/examples/renderer-yuv.rs index aeb3e586..bae3ff90 100644 --- a/examples/renderer-yuv.rs +++ b/examples/renderer-yuv.rs @@ -17,7 +17,8 @@ pub fn main() { let mut renderer = window.renderer().build().unwrap(); - let mut texture = renderer.create_texture_streaming(PixelFormatEnum::IYUV, (256, 256)).unwrap(); + let mut texture = renderer.create_texture_streaming( + PixelFormatEnum::IYUV, 256, 256).unwrap(); // Create a U-V gradient texture.with_lock(None, |buffer: &mut [u8], pitch: usize| { // `pitch` is the width of the Y component @@ -48,7 +49,7 @@ pub fn main() { }).unwrap(); renderer.clear(); - renderer.copy(&texture, None, Some(Rect::new(100, 100, 256, 256).unwrap())); + renderer.copy(&texture, None, Some(Rect::new(100, 100, 256, 256))); renderer.present(); let mut event_pump = sdl_context.event_pump().unwrap(); diff --git a/examples/window-properties.rs b/examples/window-properties.rs index f21e1b7f..2adcfb82 100644 --- a/examples/window-properties.rs +++ b/examples/window-properties.rs @@ -22,7 +22,8 @@ pub fn main() { 'running: loop { for event in event_pump.poll_iter() { match event { - Event::Quit {..} | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => { + Event::Quit {..} + | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => { break 'running }, _ => {} @@ -36,7 +37,7 @@ pub fn main() { let position = window.position(); let size = window.size(); let title = format!("Window - pos({}x{}), size({}x{}): {}", position.0, position.1, size.0, size.1, tick); - window.set_title(&title); + window.set_title(&title).unwrap(); tick += 1; } diff --git a/src/sdl2/audio.rs b/src/sdl2/audio.rs index 7b8a971f..1d91e5c1 100644 --- a/src/sdl2/audio.rs +++ b/src/sdl2/audio.rs @@ -3,6 +3,7 @@ //! # Example //! ```no_run //! use sdl2::audio::{AudioCallback, AudioSpecDesired}; +//! use std::time::Duration; //! //! struct SquareWave { //! phase_inc: f32, @@ -47,7 +48,7 @@ //! device.resume(); //! //! // Play for 2 seconds -//! std::thread::sleep_ms(2000); +//! std::thread::sleep(Duration::from_millis(2000)); //! ``` use std::ffi::{CStr, CString}; use num::FromPrimitive; diff --git a/src/sdl2/event.rs b/src/sdl2/event.rs index 14d7f7fc..df333739 100644 --- a/src/sdl2/event.rs +++ b/src/sdl2/event.rs @@ -159,7 +159,7 @@ impl ::EventSubsystem { /// /// Returns an error, if no more user events can be created. pub unsafe fn register_events(&self, nr: u32) -> Result, String> { - let result = unsafe { ll::SDL_RegisterEvents(nr as ::libc::c_int) }; + let result = ll::SDL_RegisterEvents(nr as ::libc::c_int); const ERR_NR:u32 = ::std::u32::MAX - 1; match result { diff --git a/src/sdl2/render.rs b/src/sdl2/render.rs index e792c99a..44f1335c 100644 --- a/src/sdl2/render.rs +++ b/src/sdl2/render.rs @@ -870,12 +870,12 @@ impl<'a> Renderer<'a> { /// fn draw_to_texture(r: &mut Renderer) -> Texture { /// r.render_target() /// .expect("This platform doesn't support render targets") -/// .create_and_set(PixelFormatEnum::RGBA8888, (512, 512)); +/// .create_and_set(PixelFormatEnum::RGBA8888, 512, 512); /// /// // Start drawing /// r.clear(); /// r.set_draw_color(Color::RGB(255, 0, 0)); -/// r.fill_rect(Rect::new(100, 100, 256, 256).unwrap()); +/// r.fill_rect(Rect::new(100, 100, 256, 256)); /// /// let texture: Option = r.render_target().unwrap().reset().unwrap(); /// texture.unwrap() diff --git a/src/sdl2/timer.rs b/src/sdl2/timer.rs index 47407709..270fc16c 100644 --- a/src/sdl2/timer.rs +++ b/src/sdl2/timer.rs @@ -89,6 +89,8 @@ extern "C" fn c_timer_callback(_interval: u32, param: *mut c_void) -> uint32_t { #[cfg(test)] fn test_timer_runs_multiple_times() { use std::sync::{Arc, Mutex}; + use std::time::Duration; + let sdl_context = ::sdl::init().unwrap(); let timer_subsystem = sdl_context.timer().unwrap(); @@ -106,7 +108,7 @@ fn test_timer_runs_multiple_times() { } else { 0 } })); - ::std::thread::sleep_ms(250); // tick the timer at least 10 times w/ 200ms of "buffer" + ::std::thread::sleep(Duration::from_millis(250)); // tick the timer at least 10 times w/ 200ms of "buffer" let num = local_num.lock().unwrap(); // read the number back assert_eq!(*num, 9); // it should have incremented at least 10 times... } @@ -114,6 +116,8 @@ fn test_timer_runs_multiple_times() { #[cfg(test)] fn test_timer_runs_at_least_once() { use std::sync::{Arc, Mutex}; + use std::time::Duration; + let sdl_context = ::sdl::init().unwrap(); let timer_subsystem = sdl_context.timer().unwrap(); @@ -125,14 +129,16 @@ fn test_timer_runs_at_least_once() { *flag = true; 0 })); - ::std::thread::sleep_ms(50); + ::std::thread::sleep(Duration::from_millis(50)); let flag = local_flag.lock().unwrap(); assert_eq!(*flag, true); } #[cfg(test)] fn test_timer_can_be_recreated() { + use std::time::Duration; use std::sync::{Arc, Mutex}; + let sdl_context = ::sdl::init().unwrap(); let timer_subsystem = sdl_context.timer().unwrap(); @@ -147,12 +153,12 @@ fn test_timer_can_be_recreated() { })); // reclaim closure after timer runs - ::std::thread::sleep_ms(50); + ::std::thread::sleep(Duration::from_millis(50)); let closure = timer_1.into_inner(); // create a second timer and increment again let _timer_2 = timer_subsystem.add_timer(20, closure); - ::std::thread::sleep_ms(50); + ::std::thread::sleep(Duration::from_millis(50)); // check that timer was incremented twice let num = local_num.lock().unwrap(); diff --git a/tests/events.rs b/tests/events.rs index 4ec2e4b7..c8f84547 100644 --- a/tests/events.rs +++ b/tests/events.rs @@ -48,32 +48,35 @@ fn test2(ev: &sdl2::EventSubsystem, ep: &mut sdl2::EventPump) { } } -struct SomeEventType_test3 { +#[allow(unused)] +struct SomeEventTypeTest3 { a: u32 } -struct SomeOtherEventType_test3 { + +#[allow(unused)] +struct SomeOtherEventTypeTest3 { b: u32 } fn test3(ev: &sdl2::EventSubsystem) { - ev.register_custom_event::().unwrap(); - ev.register_custom_event::().unwrap(); + ev.register_custom_event::().unwrap(); + ev.register_custom_event::().unwrap(); - assert!(ev.register_custom_event::().is_err()); + assert!(ev.register_custom_event::().is_err()); } -struct SomeEventType_test4 { +struct SomeEventTypeTest4 { a: u32 } fn test4(ev: &sdl2::EventSubsystem, ep: &mut sdl2::EventPump) { - ev.register_custom_event::().unwrap(); - let event = SomeEventType_test4 { a: 42 }; - ev.push_custom_event(event); + ev.register_custom_event::().unwrap(); + let event = SomeEventTypeTest4 { a: 42 }; + ev.push_custom_event(event).unwrap(); let received = ep.poll_event().unwrap(); if received.is_user_event() { - let e2 = received.as_user_event_type::().unwrap(); + let e2 = received.as_user_event_type::().unwrap(); assert_eq!(e2.a, 42); } }