From 17657fa1c4fe7f380b32eab4ef6907fbd43d0803 Mon Sep 17 00:00:00 2001 From: Yang Date: Mon, 1 Jun 2015 17:53:52 -0700 Subject: [PATCH 1/2] update to use sdl2 0.4;update demo --- Cargo.toml | 4 ++-- src/demo/video.rs | 29 +++++++++-------------------- src/sdl2_image/lib.rs | 2 +- 3 files changed, 12 insertions(+), 23 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 137f16bc..da5a2733 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,9 +13,9 @@ path = "src/sdl2_image/lib.rs" [dependencies] bitflags = "0.1.1" -sdl2 = "0.2.1" -sdl2-sys = "0.2.1" libc = "0.1.6" +sdl2 = "0.4" +sdl2-sys = "0.4" [[bin]] name = "demo" diff --git a/src/demo/video.rs b/src/demo/video.rs index 2ac5c3c0..62e0d0a9 100644 --- a/src/demo/video.rs +++ b/src/demo/video.rs @@ -1,30 +1,20 @@ use std::path::Path; -use sdl2::{self, INIT_VIDEO}; -use sdl2::video::{Window, WindowPos, OPENGL}; -use sdl2::render::{Renderer, RenderDriverIndex, ACCELERATED}; +use sdl2::{self}; use sdl2_image::{self, LoadTexture, INIT_PNG, INIT_JPG}; use sdl2::event::Event; use sdl2::keycode::KeyCode; pub fn main(png: &Path) { - let context = sdl2::init(INIT_VIDEO).unwrap(); + let mut context = sdl2::init().video().unwrap(); sdl2_image::init(INIT_PNG | INIT_JPG); + let window = context.window("rust-sdl2 demo: Video", 800, 600) + .position_centered() + .opengl() + .build() + .unwrap(); - let window = Window::new( - &context, - "rust-sdl2 demo: Video", - WindowPos::PosCentered, - WindowPos::PosCentered, - 800, - 600, - OPENGL).unwrap(); - - let mut renderer = Renderer::from_window( - window, - RenderDriverIndex::Auto, - ACCELERATED).unwrap(); - + let mut renderer = window.renderer().accelerated().build().unwrap(); let mut texture = renderer.load_texture(png).unwrap(); // Draws and shows the loaded texture. @@ -32,9 +22,8 @@ pub fn main(png: &Path) { drawer.copy(&mut texture, None, None); drawer.present(); - let mut event_pump = context.event_pump(); 'mainloop: loop { - for event in event_pump.poll_iter() { + for event in context.event_pump().poll_iter() { match event { Event::Quit{..} | Event::KeyDown {keycode: KeyCode::Escape, ..} => diff --git a/src/sdl2_image/lib.rs b/src/sdl2_image/lib.rs index 9bafb06b..fddc7fc9 100755 --- a/src/sdl2_image/lib.rs +++ b/src/sdl2_image/lib.rs @@ -207,7 +207,7 @@ pub trait ImageRWops { fn is_webp(&self) -> bool; } -impl ImageRWops for RWops { +impl<'a> ImageRWops for RWops<'a> { fn load(&self) -> SdlResult { let raw = unsafe { ffi::IMG_Load_RW(self.raw(), 0) From 573d86a394b91f655420051b91e3d4bbd642b33f Mon Sep 17 00:00:00 2001 From: Yang Date: Mon, 1 Jun 2015 18:23:20 -0700 Subject: [PATCH 2/2] fix 'use' --- src/demo/video.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/demo/video.rs b/src/demo/video.rs index 62e0d0a9..15b671b2 100644 --- a/src/demo/video.rs +++ b/src/demo/video.rs @@ -1,5 +1,5 @@ use std::path::Path; -use sdl2::{self}; +use sdl2; use sdl2_image::{self, LoadTexture, INIT_PNG, INIT_JPG}; use sdl2::event::Event; use sdl2::keycode::KeyCode;