Fix usage of isize

This commit is contained in:
Cobrand
2016-12-06 22:26:56 +01:00
parent 4d2351b1f8
commit e5ab0023a3
11 changed files with 635 additions and 706 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ pub fn main() {
let old_keys = &prev_keys - &keys;
if !new_keys.is_empty() || !old_keys.is_empty() {
println!("{:?} -> {:?}", new_keys, old_keys);
println!("new_keys: {:?}\told_keys:{:?}", new_keys, old_keys);
}
prev_keys = keys;
+15 -14
View File
@@ -113,28 +113,29 @@ impl AudioSubsystem {
}
}
#[repr(i32)]
#[derive(Copy, Clone, Eq, PartialEq, Debug, Hash)]
pub enum AudioFormat {
/// Unsigned 8-bit samples
U8 = ll::AUDIO_U8 as isize,
U8 = ll::AUDIO_U8 as i32,
/// Signed 8-bit samples
S8 = ll::AUDIO_S8 as isize,
S8 = ll::AUDIO_S8 as i32,
/// Unsigned 16-bit samples, little-endian
U16LSB = ll::AUDIO_U16LSB as isize,
U16LSB = ll::AUDIO_U16LSB as i32,
/// Unsigned 16-bit samples, big-endian
U16MSB = ll::AUDIO_U16MSB as isize,
U16MSB = ll::AUDIO_U16MSB as i32,
/// Signed 16-bit samples, little-endian
S16LSB = ll::AUDIO_S16LSB as isize,
S16LSB = ll::AUDIO_S16LSB as i32,
/// Signed 16-bit samples, big-endian
S16MSB = ll::AUDIO_S16MSB as isize,
S16MSB = ll::AUDIO_S16MSB as i32,
/// Signed 32-bit samples, little-endian
S32LSB = ll::AUDIO_S32LSB as isize,
S32LSB = ll::AUDIO_S32LSB as i32,
/// Signed 32-bit samples, big-endian
S32MSB = ll::AUDIO_S32MSB as isize,
S32MSB = ll::AUDIO_S32MSB as i32,
/// 32-bit floating point samples, little-endian
F32LSB = ll::AUDIO_F32LSB as isize,
F32LSB = ll::AUDIO_F32LSB as i32,
/// 32-bit floating point samples, big-endian
F32MSB = ll::AUDIO_F32MSB as isize
F32MSB = ll::AUDIO_F32MSB as i32
}
impl AudioFormat {
@@ -184,12 +185,12 @@ impl AudioFormat {
#[inline] pub fn f32_sys() -> AudioFormat { AudioFormat::F32MSB }
}
#[repr(C)]
#[repr(i32)]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub enum AudioStatus {
Stopped = ll::SDL_AUDIO_STOPPED as isize,
Playing = ll::SDL_AUDIO_PLAYING as isize,
Paused = ll::SDL_AUDIO_PAUSED as isize,
Stopped = ll::SDL_AUDIO_STOPPED as i32,
Playing = ll::SDL_AUDIO_PLAYING as i32,
Paused = ll::SDL_AUDIO_PAUSED as i32,
}
impl FromPrimitive for AudioStatus {
+48 -49
View File
@@ -6,7 +6,6 @@ use std::ffi::CStr;
use std::mem;
use libc::{c_int, c_void, uint32_t};
use num::FromPrimitive;
use num::ToPrimitive;
use std::ptr;
use std::borrow::ToOwned;
use std::iter::FromIterator;
@@ -267,56 +266,56 @@ impl ::EventSubsystem {
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
#[repr(u32)]
pub enum EventType {
First = ll::SDL_FIRSTEVENT,
First = ll::SDL_FIRSTEVENT as u32,
Quit = ll::SDL_QUIT,
AppTerminating = ll::SDL_APP_TERMINATING,
AppLowMemory = ll::SDL_APP_LOWMEMORY,
AppWillEnterBackground = ll::SDL_APP_WILLENTERBACKGROUND,
AppDidEnterBackground = ll::SDL_APP_DIDENTERBACKGROUND,
AppWillEnterForeground = ll::SDL_APP_WILLENTERFOREGROUND,
AppDidEnterForeground = ll::SDL_APP_DIDENTERFOREGROUND,
Quit = ll::SDL_QUIT as u32,
AppTerminating = ll::SDL_APP_TERMINATING as u32,
AppLowMemory = ll::SDL_APP_LOWMEMORY as u32,
AppWillEnterBackground = ll::SDL_APP_WILLENTERBACKGROUND as u32,
AppDidEnterBackground = ll::SDL_APP_DIDENTERBACKGROUND as u32,
AppWillEnterForeground = ll::SDL_APP_WILLENTERFOREGROUND as u32,
AppDidEnterForeground = ll::SDL_APP_DIDENTERFOREGROUND as u32,
Window = ll::SDL_WINDOWEVENT,
// TODO: SysWM = ll::SDL_SYSWMEVENT,
Window = ll::SDL_WINDOWEVENT as u32,
// TODO: SysWM = ll::SDL_SYSWMEVENT as u32,
KeyDown = ll::SDL_KEYDOWN,
KeyUp = ll::SDL_KEYUP,
TextEditing = ll::SDL_TEXTEDITING,
TextInput = ll::SDL_TEXTINPUT,
KeyDown = ll::SDL_KEYDOWN as u32,
KeyUp = ll::SDL_KEYUP as u32,
TextEditing = ll::SDL_TEXTEDITING as u32,
TextInput = ll::SDL_TEXTINPUT as u32,
MouseMotion = ll::SDL_MOUSEMOTION,
MouseButtonDown = ll::SDL_MOUSEBUTTONDOWN,
MouseButtonUp = ll::SDL_MOUSEBUTTONUP,
MouseWheel = ll::SDL_MOUSEWHEEL,
MouseMotion = ll::SDL_MOUSEMOTION as u32,
MouseButtonDown = ll::SDL_MOUSEBUTTONDOWN as u32,
MouseButtonUp = ll::SDL_MOUSEBUTTONUP as u32,
MouseWheel = ll::SDL_MOUSEWHEEL as u32,
JoyAxisMotion = ll::SDL_JOYAXISMOTION,
JoyBallMotion = ll::SDL_JOYBALLMOTION,
JoyHatMotion = ll::SDL_JOYHATMOTION,
JoyButtonDown = ll::SDL_JOYBUTTONDOWN,
JoyButtonUp = ll::SDL_JOYBUTTONUP,
JoyDeviceAdded = ll::SDL_JOYDEVICEADDED,
JoyDeviceRemoved = ll::SDL_JOYDEVICEREMOVED,
JoyAxisMotion = ll::SDL_JOYAXISMOTION as u32,
JoyBallMotion = ll::SDL_JOYBALLMOTION as u32,
JoyHatMotion = ll::SDL_JOYHATMOTION as u32,
JoyButtonDown = ll::SDL_JOYBUTTONDOWN as u32,
JoyButtonUp = ll::SDL_JOYBUTTONUP as u32,
JoyDeviceAdded = ll::SDL_JOYDEVICEADDED as u32,
JoyDeviceRemoved = ll::SDL_JOYDEVICEREMOVED as u32,
ControllerAxisMotion = ll::SDL_CONTROLLERAXISMOTION,
ControllerButtonDown = ll::SDL_CONTROLLERBUTTONDOWN,
ControllerButtonUp = ll::SDL_CONTROLLERBUTTONUP,
ControllerDeviceAdded = ll::SDL_CONTROLLERDEVICEADDED,
ControllerDeviceRemoved = ll::SDL_CONTROLLERDEVICEREMOVED,
ControllerDeviceRemapped = ll::SDL_CONTROLLERDEVICEREMAPPED,
ControllerAxisMotion = ll::SDL_CONTROLLERAXISMOTION as u32,
ControllerButtonDown = ll::SDL_CONTROLLERBUTTONDOWN as u32,
ControllerButtonUp = ll::SDL_CONTROLLERBUTTONUP as u32,
ControllerDeviceAdded = ll::SDL_CONTROLLERDEVICEADDED as u32,
ControllerDeviceRemoved = ll::SDL_CONTROLLERDEVICEREMOVED as u32,
ControllerDeviceRemapped = ll::SDL_CONTROLLERDEVICEREMAPPED as u32,
FingerDown = ll::SDL_FINGERDOWN,
FingerUp = ll::SDL_FINGERUP,
FingerMotion = ll::SDL_FINGERMOTION,
DollarGesture = ll::SDL_DOLLARGESTURE,
DollarRecord = ll::SDL_DOLLARRECORD,
MultiGesture = ll::SDL_MULTIGESTURE,
FingerDown = ll::SDL_FINGERDOWN as u32,
FingerUp = ll::SDL_FINGERUP as u32,
FingerMotion = ll::SDL_FINGERMOTION as u32,
DollarGesture = ll::SDL_DOLLARGESTURE as u32,
DollarRecord = ll::SDL_DOLLARRECORD as u32,
MultiGesture = ll::SDL_MULTIGESTURE as u32,
ClipboardUpdate = ll::SDL_CLIPBOARDUPDATE,
DropFile = ll::SDL_DROPFILE,
ClipboardUpdate = ll::SDL_CLIPBOARDUPDATE as u32,
DropFile = ll::SDL_DROPFILE as u32,
User = ll::SDL_USEREVENT,
Last = ll::SDL_LASTEVENT,
User = ll::SDL_USEREVENT as u32,
Last = ll::SDL_LASTEVENT as u32,
}
impl FromPrimitive for EventType {
@@ -746,10 +745,10 @@ fn mk_keysym(scancode: Option<Scancode>,
keycode: Option<Keycode>,
keymod: Mod) -> syskeyboard::SDL_Keysym {
let scancode = scancode
.map(|sc| sc.to_u32().unwrap_or(0u32))
.map(|sc| sc as scancode::SDL_Scancode)
.unwrap_or(scancode::SDL_SCANCODE_UNKNOWN);
let keycode = keycode
.map(|kc| kc.to_i32().unwrap_or(0i32))
.map(|kc| kc as keycode::SDL_Keycode)
.unwrap_or(keycode::SDLK_UNKNOWN);
let keymod = keymod.bits() as u16;
syskeyboard::SDL_Keysym {
@@ -762,7 +761,7 @@ fn mk_keysym(scancode: Option<Scancode>,
/// Helper function is only to unwrap a mouse_button to u8
fn mk_mouse_button(mouse_button: Option<MouseButton>) -> u8 {
mouse_button.unwrap().to_ll().unwrap()
mouse_button.unwrap() as u8
}
// TODO: Remove this when from_utf8 is updated in Rust
@@ -1304,8 +1303,8 @@ impl Event {
Event::KeyDown {
timestamp: event.timestamp,
window_id: event.windowID,
keycode: FromPrimitive::from_i32(event.keysym.sym),
scancode: FromPrimitive::from_u32(event.keysym.scancode),
keycode: Keycode::from_i32(event.keysym.sym as i32),
scancode: Scancode::from_i32(event.keysym.scancode as i32),
keymod: keyboard::Mod::from_bits(event.keysym._mod as SDL_Keymod).unwrap(),
repeat: event.repeat != 0
}
@@ -1316,8 +1315,8 @@ impl Event {
Event::KeyUp {
timestamp: event.timestamp,
window_id: event.windowID,
keycode: FromPrimitive::from_i32(event.keysym.sym),
scancode: FromPrimitive::from_u32(event.keysym.scancode),
keycode: Keycode::from_i32(event.keysym.sym as i32),
scancode: Scancode::from_i32(event.keysym.scancode as i32),
keymod: keyboard::Mod::from_bits(event.keysym._mod as SDL_Keymod).unwrap(),
repeat: event.repeat != 0
}
File diff suppressed because it is too large Load Diff
+5 -6
View File
@@ -1,4 +1,3 @@
use num::{ToPrimitive, FromPrimitive};
use std::ptr;
use EventPump;
@@ -59,7 +58,7 @@ impl<'a> KeyboardState<'a> {
/// }
/// ```
pub fn is_scancode_pressed(&self, scancode: Scancode) -> bool {
self.keyboard_state[ToPrimitive::to_isize(&scancode).unwrap() as usize] != 0
self.keyboard_state[scancode as i32 as usize] != 0
}
/// Returns an iterator all scancodes with a boolean indicating if the scancode is pressed.
@@ -101,7 +100,7 @@ impl<'a> KeyboardState<'a> {
}
pub struct ScancodeIterator<'a> {
index: usize,
index: i32,
keyboard_state: &'a [u8]
}
@@ -109,12 +108,12 @@ impl<'a> Iterator for ScancodeIterator<'a> {
type Item = (Scancode, bool);
fn next(&mut self) -> Option<(Scancode, bool)> {
if self.index < self.keyboard_state.len() {
if self.index < self.keyboard_state.len() as i32 {
let index = self.index;
self.index += 1;
if let Some(scancode) = FromPrimitive::from_usize(index) {
let pressed = self.keyboard_state[index] != 0;
if let Some(scancode) = Scancode::from_i32(index) {
let pressed = self.keyboard_state[index as usize] != 0;
Some((scancode, pressed))
} else {
File diff suppressed because it is too large Load Diff
+27 -61
View File
@@ -1,4 +1,3 @@
use num::{ToPrimitive, FromPrimitive};
use std::ptr;
use get_error;
@@ -14,18 +13,18 @@ pub use self::relative::RelativeMouseState;
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
#[repr(u32)]
pub enum SystemCursor {
Arrow = ll::SDL_SYSTEM_CURSOR_ARROW,
IBeam = ll::SDL_SYSTEM_CURSOR_IBEAM,
Wait = ll::SDL_SYSTEM_CURSOR_WAIT,
Crosshair = ll::SDL_SYSTEM_CURSOR_CROSSHAIR,
WaitArrow = ll::SDL_SYSTEM_CURSOR_WAITARROW,
SizeNWSE = ll::SDL_SYSTEM_CURSOR_SIZENWSE,
SizeNESW = ll::SDL_SYSTEM_CURSOR_SIZENESW,
SizeWE = ll::SDL_SYSTEM_CURSOR_SIZEWE,
SizeNS = ll::SDL_SYSTEM_CURSOR_SIZENS,
SizeAll = ll::SDL_SYSTEM_CURSOR_SIZEALL,
No = ll::SDL_SYSTEM_CURSOR_NO,
Hand = ll::SDL_SYSTEM_CURSOR_HAND,
Arrow = ll::SDL_SYSTEM_CURSOR_ARROW as u32,
IBeam = ll::SDL_SYSTEM_CURSOR_IBEAM as u32,
Wait = ll::SDL_SYSTEM_CURSOR_WAIT as u32,
Crosshair = ll::SDL_SYSTEM_CURSOR_CROSSHAIR as u32,
WaitArrow = ll::SDL_SYSTEM_CURSOR_WAITARROW as u32,
SizeNWSE = ll::SDL_SYSTEM_CURSOR_SIZENWSE as u32,
SizeNESW = ll::SDL_SYSTEM_CURSOR_SIZENESW as u32,
SizeWE = ll::SDL_SYSTEM_CURSOR_SIZEWE as u32,
SizeNS = ll::SDL_SYSTEM_CURSOR_SIZENS as u32,
SizeAll = ll::SDL_SYSTEM_CURSOR_SIZEALL as u32,
No = ll::SDL_SYSTEM_CURSOR_NO as u32,
Hand = ll::SDL_SYSTEM_CURSOR_HAND as u32,
}
pub struct Cursor {
@@ -128,37 +127,15 @@ impl MouseWheelDirection {
}
}
#[repr(u8)]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub enum MouseButton {
Left = ll::SDL_BUTTON_LEFT as isize,
Middle = ll::SDL_BUTTON_MIDDLE as isize,
Right = ll::SDL_BUTTON_RIGHT as isize,
X1 = ll::SDL_BUTTON_X1 as isize,
X2 = ll::SDL_BUTTON_X2 as isize,
}
impl ToPrimitive for MouseButton {
#[inline]
fn to_i64(&self) -> Option<i64> {
Some(*self as i64)
}
#[inline]
fn to_u64(&self) -> Option<u64> {
Some(*self as u64)
}
#[inline]
fn to_isize(&self) -> Option<isize> {
Some(*self as isize)
}
}
impl FromPrimitive for MouseButton {
#[inline]
fn from_i64(n: i64) -> Option<MouseButton> { MouseButton::from_ll(n as u8) }
#[inline]
fn from_u64(n: u64) -> Option<MouseButton> { MouseButton::from_ll(n as u8) }
Unknown = 0,
Left = ll::SDL_BUTTON_LEFT as u8,
Middle = ll::SDL_BUTTON_MIDDLE as u8,
Right = ll::SDL_BUTTON_RIGHT as u8,
X1 = ll::SDL_BUTTON_X1 as u8,
X2 = ll::SDL_BUTTON_X2 as u8,
}
impl MouseButton {
@@ -173,11 +150,6 @@ impl MouseButton {
_ => return None,
})
}
#[inline]
pub fn to_ll(&self) -> Option<u8> {
Some(*self as u8)
}
}
#[derive(Copy, Clone, Eq, PartialEq, Hash)]
@@ -275,7 +247,7 @@ impl MouseState {
/// ```
pub fn mouse_buttons(&self) -> MouseButtonIterator {
MouseButtonIterator {
index: 0,
cur_button: 1,
mouse_state: &self.mouse_state
}
}
@@ -304,7 +276,7 @@ impl MouseState {
}
pub struct MouseButtonIterator<'a> {
index: usize,
cur_button: u8,
mouse_state: &'a u32
}
@@ -312,18 +284,12 @@ impl<'a> Iterator for MouseButtonIterator<'a> {
type Item = (MouseButton, bool);
fn next(&mut self) -> Option<(MouseButton, bool)> {
if self.index < MouseButton::X2 as usize +1 {
let index = self.index;
self.index += 1;
if let Some(mouse_button) = FromPrimitive::from_usize(index) {
let mask = 1 << ((mouse_button as u32)-1);
let pressed = self.mouse_state & mask != 0;
Some((mouse_button, pressed))
} else {
self.next()
}
if self.cur_button < MouseButton::X2 as u8 + 1 {
let mouse_button = self.cur_button;
let mask = 1 << ((self.cur_button as u32)-1);
let pressed = self.mouse_state & mask != 0;
self.cur_button += 1;
Some((MouseButton::from_ll(mouse_button).unwrap(), pressed))
} else {
None
}
+1 -1
View File
@@ -100,7 +100,7 @@ impl RelativeMouseState {
/// ```
pub fn mouse_buttons(&self) -> MouseButtonIterator {
MouseButtonIterator {
index: 0,
cur_button: 1,
mouse_state: &self.mouse_state
}
}
+37 -36
View File
@@ -163,44 +163,45 @@ pub struct PixelFormat {
impl_raw_accessors!((PixelFormat, *mut ll::SDL_PixelFormat));
impl_raw_constructor!((PixelFormat, PixelFormat (raw: *mut ll::SDL_PixelFormat)));
#[repr(i32)]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub enum PixelFormatEnum {
Unknown = ll::SDL_PIXELFORMAT_UNKNOWN as isize,
Index1LSB = ll::SDL_PIXELFORMAT_INDEX1LSB as isize,
Index1MSB = ll::SDL_PIXELFORMAT_INDEX1MSB as isize,
Index4LSB = ll::SDL_PIXELFORMAT_INDEX4LSB as isize,
Index4MSB = ll::SDL_PIXELFORMAT_INDEX4MSB as isize,
Index8 = ll::SDL_PIXELFORMAT_INDEX8 as isize,
RGB332 = ll::SDL_PIXELFORMAT_RGB332 as isize,
RGB444 = ll::SDL_PIXELFORMAT_RGB444 as isize,
RGB555 = ll::SDL_PIXELFORMAT_RGB555 as isize,
BGR555 = ll::SDL_PIXELFORMAT_BGR555 as isize,
ARGB4444 = ll::SDL_PIXELFORMAT_ARGB4444 as isize,
RGBA4444 = ll::SDL_PIXELFORMAT_RGBA4444 as isize,
ABGR4444 = ll::SDL_PIXELFORMAT_ABGR4444 as isize,
BGRA4444 = ll::SDL_PIXELFORMAT_BGRA4444 as isize,
ARGB1555 = ll::SDL_PIXELFORMAT_ARGB1555 as isize,
RGBA5551 = ll::SDL_PIXELFORMAT_RGBA5551 as isize,
ABGR1555 = ll::SDL_PIXELFORMAT_ABGR1555 as isize,
BGRA5551 = ll::SDL_PIXELFORMAT_BGRA5551 as isize,
RGB565 = ll::SDL_PIXELFORMAT_RGB565 as isize,
BGR565 = ll::SDL_PIXELFORMAT_BGR565 as isize,
RGB24 = ll::SDL_PIXELFORMAT_RGB24 as isize,
BGR24 = ll::SDL_PIXELFORMAT_BGR24 as isize,
RGB888 = ll::SDL_PIXELFORMAT_RGB888 as isize,
RGBX8888 = ll::SDL_PIXELFORMAT_RGBX8888 as isize,
BGR888 = ll::SDL_PIXELFORMAT_BGR888 as isize,
BGRX8888 = ll::SDL_PIXELFORMAT_BGRX8888 as isize,
ARGB8888 = ll::SDL_PIXELFORMAT_ARGB8888 as isize,
RGBA8888 = ll::SDL_PIXELFORMAT_RGBA8888 as isize,
ABGR8888 = ll::SDL_PIXELFORMAT_ABGR8888 as isize,
BGRA8888 = ll::SDL_PIXELFORMAT_BGRA8888 as isize,
ARGB2101010 = ll::SDL_PIXELFORMAT_ARGB2101010 as isize,
YV12 = ll::SDL_PIXELFORMAT_YV12 as isize,
IYUV = ll::SDL_PIXELFORMAT_IYUV as isize,
YUY2 = ll::SDL_PIXELFORMAT_YUY2 as isize,
UYVY = ll::SDL_PIXELFORMAT_UYVY as isize,
YVYU = ll::SDL_PIXELFORMAT_YVYU as isize
Unknown = ll::SDL_PIXELFORMAT_UNKNOWN as i32,
Index1LSB = ll::SDL_PIXELFORMAT_INDEX1LSB as i32,
Index1MSB = ll::SDL_PIXELFORMAT_INDEX1MSB as i32,
Index4LSB = ll::SDL_PIXELFORMAT_INDEX4LSB as i32,
Index4MSB = ll::SDL_PIXELFORMAT_INDEX4MSB as i32,
Index8 = ll::SDL_PIXELFORMAT_INDEX8 as i32,
RGB332 = ll::SDL_PIXELFORMAT_RGB332 as i32,
RGB444 = ll::SDL_PIXELFORMAT_RGB444 as i32,
RGB555 = ll::SDL_PIXELFORMAT_RGB555 as i32,
BGR555 = ll::SDL_PIXELFORMAT_BGR555 as i32,
ARGB4444 = ll::SDL_PIXELFORMAT_ARGB4444 as i32,
RGBA4444 = ll::SDL_PIXELFORMAT_RGBA4444 as i32,
ABGR4444 = ll::SDL_PIXELFORMAT_ABGR4444 as i32,
BGRA4444 = ll::SDL_PIXELFORMAT_BGRA4444 as i32,
ARGB1555 = ll::SDL_PIXELFORMAT_ARGB1555 as i32,
RGBA5551 = ll::SDL_PIXELFORMAT_RGBA5551 as i32,
ABGR1555 = ll::SDL_PIXELFORMAT_ABGR1555 as i32,
BGRA5551 = ll::SDL_PIXELFORMAT_BGRA5551 as i32,
RGB565 = ll::SDL_PIXELFORMAT_RGB565 as i32,
BGR565 = ll::SDL_PIXELFORMAT_BGR565 as i32,
RGB24 = ll::SDL_PIXELFORMAT_RGB24 as i32,
BGR24 = ll::SDL_PIXELFORMAT_BGR24 as i32,
RGB888 = ll::SDL_PIXELFORMAT_RGB888 as i32,
RGBX8888 = ll::SDL_PIXELFORMAT_RGBX8888 as i32,
BGR888 = ll::SDL_PIXELFORMAT_BGR888 as i32,
BGRX8888 = ll::SDL_PIXELFORMAT_BGRX8888 as i32,
ARGB8888 = ll::SDL_PIXELFORMAT_ARGB8888 as i32,
RGBA8888 = ll::SDL_PIXELFORMAT_RGBA8888 as i32,
ABGR8888 = ll::SDL_PIXELFORMAT_ABGR8888 as i32,
BGRA8888 = ll::SDL_PIXELFORMAT_BGRA8888 as i32,
ARGB2101010 = ll::SDL_PIXELFORMAT_ARGB2101010 as i32,
YV12 = ll::SDL_PIXELFORMAT_YV12 as i32,
IYUV = ll::SDL_PIXELFORMAT_IYUV as i32,
YUY2 = ll::SDL_PIXELFORMAT_YUY2 as i32,
UYVY = ll::SDL_PIXELFORMAT_UYVY as i32,
YVYU = ll::SDL_PIXELFORMAT_YVYU as i32
}
impl PixelFormatEnum {
+9 -7
View File
@@ -51,10 +51,11 @@ use common::{validate_int, IntegerOrSdlError};
use sys::render as ll;
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
#[repr(i32)]
pub enum TextureAccess {
Static = ll::SDL_TEXTUREACCESS_STATIC as isize,
Streaming = ll::SDL_TEXTUREACCESS_STREAMING as isize,
Target = ll::SDL_TEXTUREACCESS_TARGET as isize
Static = ll::SDL_TEXTUREACCESS_STATIC as i32,
Streaming = ll::SDL_TEXTUREACCESS_STREAMING as i32,
Target = ll::SDL_TEXTUREACCESS_TARGET as i32
}
impl FromPrimitive for TextureAccess {
@@ -83,12 +84,13 @@ pub struct RendererInfo {
pub max_texture_height: u32
}
#[repr(i32)]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub enum BlendMode {
None = ll::SDL_BLENDMODE_NONE as isize,
Blend = ll::SDL_BLENDMODE_BLEND as isize,
Add = ll::SDL_BLENDMODE_ADD as isize,
Mod = ll::SDL_BLENDMODE_MOD as isize
None = ll::SDL_BLENDMODE_NONE as i32,
Blend = ll::SDL_BLENDMODE_BLEND as i32,
Add = ll::SDL_BLENDMODE_ADD as i32,
Mod = ll::SDL_BLENDMODE_MOD as i32
}
impl FromPrimitive for BlendMode {
+6 -5
View File
@@ -4,13 +4,14 @@ use libc::c_char;
use sys::sdl as ll;
#[repr(i32)]
#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub enum Error {
NoMemError = ll::SDL_ENOMEM as isize,
ReadError = ll::SDL_EFREAD as isize,
WriteError = ll::SDL_EFWRITE as isize,
SeekError = ll::SDL_EFSEEK as isize,
UnsupportedError = ll::SDL_UNSUPPORTED as isize
NoMemError = ll::SDL_ENOMEM as i32,
ReadError = ll::SDL_EFREAD as i32,
WriteError = ll::SDL_EFWRITE as i32,
SeekError = ll::SDL_EFSEEK as i32,
UnsupportedError = ll::SDL_UNSUPPORTED as i32
}
use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT};