diff --git a/src/sdl2/event.rs b/src/sdl2/event.rs index fbe5404b..8fe3cb70 100644 --- a/src/sdl2/event.rs +++ b/src/sdl2/event.rs @@ -730,36 +730,36 @@ impl Event { let event_type: EventType = FromPrimitive::from_uint(raw_type as uint).unwrap_or(EventType::User); unsafe { match event_type { EventType::Quit => { - let event = *raw.quit(); + let ref event = *raw.quit(); Event::Quit(event.timestamp as uint) } EventType::AppTerminating => { - let event = *raw.common(); + let ref event = *raw.common(); Event::AppTerminating(event.timestamp as uint) } EventType::AppLowMemory => { - let event = *raw.common(); + let ref event = *raw.common(); Event::AppLowMemory(event.timestamp as uint) } EventType::AppWillEnterBackground => { - let event = *raw.common(); + let ref event = *raw.common(); Event::AppWillEnterBackground(event.timestamp as uint) } EventType::AppDidEnterBackground => { - let event = *raw.common(); + let ref event = *raw.common(); Event::AppDidEnterBackground(event.timestamp as uint) } EventType::AppWillEnterForeground => { - let event = *raw.common(); + let ref event = *raw.common(); Event::AppWillEnterForeground(event.timestamp as uint) } EventType::AppDidEnterForeground => { - let event = *raw.common(); + let ref event = *raw.common(); Event::AppDidEnterForeground(event.timestamp as uint) } EventType::Window => { - let event = *raw.window(); + let ref event = *raw.window(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -774,7 +774,7 @@ impl Event { // TODO: SysWMEventType EventType::KeyDown => { - let event = *raw.key(); + let ref event = *raw.key(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -791,7 +791,7 @@ impl Event { event.repeat != 0) } EventType::KeyUp => { - let event = *raw.key(); + let ref event = *raw.key(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -808,7 +808,7 @@ impl Event { event.repeat != 0) } EventType::TextEditing => { - let event = *raw.edit(); + let ref event = *raw.edit(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -821,7 +821,7 @@ impl Event { event.start as int, event.length as int) } EventType::TextInput => { - let event = *raw.text(); + let ref event = *raw.text(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -834,7 +834,7 @@ impl Event { } EventType::MouseMotion => { - let event = *raw.motion(); + let ref event = *raw.motion(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -849,7 +849,7 @@ impl Event { event.xrel as int, event.yrel as int) } EventType::MouseButtonDown => { - let event = *raw.button(); + let ref event = *raw.button(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -863,7 +863,7 @@ impl Event { event.x as int, event.y as int) } EventType::MouseButtonUp => { - let event = *raw.button(); + let ref event = *raw.button(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -877,7 +877,7 @@ impl Event { event.x as int, event.y as int) } EventType::MouseWheel => { - let event = *raw.wheel(); + let ref event = *raw.wheel(); let window = video::Window::from_id(event.windowID); let window = match window { @@ -891,48 +891,48 @@ impl Event { } EventType::JoyAxisMotion => { - let event = *raw.jaxis(); + let ref event = *raw.jaxis(); Event::JoyAxisMotion(event.timestamp as uint, event.which as int, event.axis as int, event.value) } EventType::JoyBallMotion => { - let event = *raw.jball(); + let ref event = *raw.jball(); Event::JoyBallMotion(event.timestamp as uint, event.which as int, event.ball as int, event.xrel, event.yrel) } EventType::JoyHatMotion => { - let event = *raw.jhat(); + let ref event = *raw.jhat(); Event::JoyHatMotion(event.timestamp as uint, event.which as int, event.hat as int, joystick::HatState::from_bits(event.value).unwrap()) } EventType::JoyButtonDown => { - let event = *raw.jbutton(); + let ref event = *raw.jbutton(); Event::JoyButtonDown(event.timestamp as uint, event.which as int, event.button as int) } EventType::JoyButtonUp => { - let event = *raw.jbutton(); + let ref event = *raw.jbutton(); Event::JoyButtonUp(event.timestamp as uint, event.which as int, event.button as int) } EventType::JoyDeviceAdded => { - let event = *raw.jdevice(); + let ref event = *raw.jdevice(); Event::JoyDeviceAdded(event.timestamp as uint, event.which as int) } EventType::JoyDeviceRemoved => { - let event = *raw.jdevice(); + let ref event = *raw.jdevice(); Event::JoyDeviceRemoved(event.timestamp as uint, event.which as int) } EventType::ControllerAxisMotion => { - let event = *raw.caxis(); + let ref event = *raw.caxis(); let axis = controller::wrap_controller_axis(event.axis); Event::ControllerAxisMotion(event.timestamp as uint, @@ -940,51 +940,51 @@ impl Event { event.value) } EventType::ControllerButtonDown => { - let event = *raw.cbutton(); + let ref event = *raw.cbutton(); let button = controller::wrap_controller_button(event.button); Event::ControllerButtonDown(event.timestamp as uint, event.which as int, button) } EventType::ControllerButtonUp => { - let event = *raw.cbutton(); + let ref event = *raw.cbutton(); let button = controller::wrap_controller_button(event.button); Event::ControllerButtonUp(event.timestamp as uint, event.which as int, button) } EventType::ControllerDeviceAdded => { - let event = *raw.cdevice(); + let ref event = *raw.cdevice(); Event::ControllerDeviceAdded(event.timestamp as uint, event.which as int) } EventType::ControllerDeviceRemoved => { - let event = *raw.cdevice(); + let ref event = *raw.cdevice(); Event::ControllerDeviceRemoved(event.timestamp as uint, event.which as int) } EventType::ControllerDeviceRemapped => { - let event = *raw.cdevice(); + let ref event = *raw.cdevice(); Event::ControllerDeviceRemapped(event.timestamp as uint, event.which as int) } EventType::FingerDown => { - let event = *raw.tfinger(); + let ref event = *raw.tfinger(); Event::FingerDown(event.timestamp as uint, event.touchId as i64, event.fingerId as i64, event.x as f64, event.y as f64, event.dx as f64, event.dy as f64, event.pressure as f64) } EventType::FingerUp => { - let event = *raw.tfinger(); + let ref event = *raw.tfinger(); Event::FingerUp(event.timestamp as uint, event.touchId as i64, event.fingerId as i64, event.x as f64, event.y as f64, event.dx as f64, event.dy as f64, event.pressure as f64) } EventType::FingerMotion => { - let event = *raw.tfinger(); + let ref event = *raw.tfinger(); Event::FingerMotion(event.timestamp as uint, event.touchId as i64, event.fingerId as i64, event.x as f64, event.y as f64, @@ -992,7 +992,7 @@ impl Event { event.pressure as f64) } EventType::DollarGesture => { - let event = *raw.dgesture(); + let ref event = *raw.dgesture(); Event::DollarGesture(event.timestamp as uint, event.touchId as i64, event.gestureId as i64, @@ -1001,7 +1001,7 @@ impl Event { event.y as f64) } EventType::DollarRecord => { - let event = *raw.dgesture(); + let ref event = *raw.dgesture(); Event::DollarRecord(event.timestamp as uint, event.touchId as i64, event.gestureId as i64, @@ -1010,7 +1010,7 @@ impl Event { event.y as f64) } EventType::MultiGesture => { - let event = *raw.mgesture(); + let ref event = *raw.mgesture(); Event::MultiGesture(event.timestamp as uint, event.touchId as i64, event.dTheta as f64, event.dDist as f64, event.x as f64, @@ -1018,11 +1018,11 @@ impl Event { } EventType::ClipboardUpdate => { - let event = *raw.common(); + let ref event = *raw.common(); Event::ClipboardUpdate(event.timestamp as uint) } EventType::DropFile => { - let event = *raw.drop(); + let ref event = *raw.drop(); let text = String::from_raw_buf(event.file as *const u8); ll::SDL_free(event.file as *const c_void); @@ -1039,7 +1039,7 @@ impl Event { return Event::None; } - let event = *raw.user(); + let ref event = *raw.user(); let window = video::Window::from_id(event.windowID); let window = match window { diff --git a/src/sdl2/keycode.rs b/src/sdl2/keycode.rs index eaa3c17e..0763db9d 100644 --- a/src/sdl2/keycode.rs +++ b/src/sdl2/keycode.rs @@ -1,6 +1,6 @@ use std::hash::{mod, Hash}; -#[deriving(PartialEq, Eq, FromPrimitive, Show)] +#[deriving(PartialEq, Eq, FromPrimitive, Show, Copy)] pub enum KeyCode { Unknown = 0, Backspace = 8, diff --git a/src/sdl2/pixels.rs b/src/sdl2/pixels.rs index 78f1d106..0cf5f6bc 100644 --- a/src/sdl2/pixels.rs +++ b/src/sdl2/pixels.rs @@ -97,7 +97,7 @@ pub struct Palette { impl_raw_accessors!(Palette, *const ll::SDL_Palette) -#[deriving(PartialEq, Clone)] +#[deriving(PartialEq, Clone, Copy)] pub enum Color { RGB(u8, u8, u8), RGBA(u8, u8, u8, u8) diff --git a/src/sdl2/rect.rs b/src/sdl2/rect.rs index 6814749a..64c55c06 100644 --- a/src/sdl2/rect.rs +++ b/src/sdl2/rect.rs @@ -6,7 +6,7 @@ use std::mem; use libc::c_int; /// A structure that defines a two dimensional point. -#[deriving(PartialEq, Clone, Show)] +#[deriving(PartialEq, Clone, Show, Copy)] #[repr(C)] pub struct Point { pub x: i32, @@ -14,7 +14,7 @@ pub struct Point { } /// A structure that defines a rectangle, with the origin at the upper left. -#[deriving(PartialEq, Clone, Show)] +#[deriving(PartialEq, Clone, Show, Copy)] #[repr(C)] pub struct Rect { pub x: i32, diff --git a/src/sdl2/scancode.rs b/src/sdl2/scancode.rs index 2c120326..fa9f2db0 100644 --- a/src/sdl2/scancode.rs +++ b/src/sdl2/scancode.rs @@ -1,6 +1,6 @@ use std::hash::{mod, Hash}; -#[deriving(PartialEq, Eq, FromPrimitive, Show)] +#[deriving(PartialEq, Eq, FromPrimitive, Show, Copy)] pub enum ScanCode { Unknown = 0, A = 4, diff --git a/src/sdl2/touch.rs b/src/sdl2/touch.rs index 0abf5232..94c9f813 100644 --- a/src/sdl2/touch.rs +++ b/src/sdl2/touch.rs @@ -2,7 +2,7 @@ use std::ptr; pub type TouchDevice = ll::SDL_TouchID; -#[deriving(PartialEq)] +#[deriving(PartialEq, Copy)] #[repr(C)] pub struct Finger { id: TouchDevice, diff --git a/src/sdl2/version.rs b/src/sdl2/version.rs index dc9a90c1..cbc0f05f 100644 --- a/src/sdl2/version.rs +++ b/src/sdl2/version.rs @@ -37,7 +37,7 @@ impl Version { /// Convert a raw *SDL_version to Version. pub fn from_ll(sv: *const ll::SDL_version) -> Version { unsafe { - let v = *sv; + let ref v = *sv; Version{ major: v.major as int, minor: v.minor as int, patch: v.patch as int } } } diff --git a/src/sdl2/video.rs b/src/sdl2/video.rs index 47ca59b3..921e2df2 100644 --- a/src/sdl2/video.rs +++ b/src/sdl2/video.rs @@ -296,7 +296,7 @@ pub enum FullscreenType { FTDesktop = ll::SDL_WindowFlags::SDL_WINDOW_FULLSCREEN_DESKTOP as int } -#[deriving(PartialEq)] +#[deriving(PartialEq, Copy)] pub enum WindowPos { PosUndefined, PosCentered,