diff --git a/crankstart-sys/src/bindings_aarch64.rs b/crankstart-sys/src/bindings_aarch64.rs index 590e1ee..e0cc5ab 100644 --- a/crankstart-sys/src/bindings_aarch64.rs +++ b/crankstart-sys/src/bindings_aarch64.rs @@ -366,7 +366,8 @@ pub struct playdate_graphics { pub clear: ::core::option::Option, pub setBackgroundColor: ::core::option::Option, pub setStencil: ::core::option::Option, - pub setDrawMode: ::core::option::Option, + pub setDrawMode: + ::core::option::Option LCDBitmapDrawMode>, pub setDrawOffset: ::core::option::Option, pub setClipRect: ::core::option::Option< @@ -653,6 +654,23 @@ pub struct playdate_graphics { unsafe extern "C" fn(data: *mut LCDFontData, wide: ctypes::c_int) -> *mut LCDFont, >, pub getTextTracking: ::core::option::Option ctypes::c_int>, + pub setPixel: ::core::option::Option< + unsafe extern "C" fn(x: ctypes::c_int, y: ctypes::c_int, c: LCDColor), + >, + pub getBitmapPixel: ::core::option::Option< + unsafe extern "C" fn( + bitmap: *mut LCDBitmap, + x: ctypes::c_int, + y: ctypes::c_int, + ) -> LCDSolidColor, + >, + pub getBitmapTableInfo: ::core::option::Option< + unsafe extern "C" fn( + table: *mut LCDBitmapTable, + count: *mut ctypes::c_int, + width: *mut ctypes::c_int, + ), + >, } #[test] fn bindgen_test_layout_playdate_graphics() { @@ -660,7 +678,7 @@ fn bindgen_test_layout_playdate_graphics() { let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), - 480usize, + 504usize, concat!("Size of: ", stringify!(playdate_graphics)) ); assert_eq!( @@ -1268,6 +1286,36 @@ fn bindgen_test_layout_playdate_graphics() { stringify!(getTextTracking) ) ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).setPixel) as usize - ptr as usize }, + 480usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(setPixel) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getBitmapPixel) as usize - ptr as usize }, + 488usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(getBitmapPixel) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getBitmapTableInfo) as usize - ptr as usize }, + 496usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(getBitmapTableInfo) + ) + ); } impl Default for playdate_graphics { fn default() -> Self { @@ -5366,6 +5414,7 @@ pub struct playdate_sound_sample { format: SoundFormat, sampleRate: u32, byteCount: ctypes::c_int, + shouldFreeData: ctypes::c_int, ) -> *mut AudioSample, >, pub getData: ::core::option::Option< @@ -7254,7 +7303,7 @@ pub struct playdate_sound_sequence { loops: ctypes::c_int, ), >, - pub getTempo: + pub getTempo_deprecated: ::core::option::Option ctypes::c_int>, pub setTempo: ::core::option::Option, @@ -7298,6 +7347,7 @@ pub struct playdate_sound_sequence { playNotes: ctypes::c_int, ), >, + pub getTempo: ::core::option::Option f32>, } #[test] fn bindgen_test_layout_playdate_sound_sequence() { @@ -7306,7 +7356,7 @@ fn bindgen_test_layout_playdate_sound_sequence() { let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), - 152usize, + 160usize, concat!("Size of: ", stringify!(playdate_sound_sequence)) ); assert_eq!( @@ -7375,13 +7425,13 @@ fn bindgen_test_layout_playdate_sound_sequence() { ) ); assert_eq!( - unsafe { ::core::ptr::addr_of!((*ptr).getTempo) as usize - ptr as usize }, + unsafe { ::core::ptr::addr_of!((*ptr).getTempo_deprecated) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(playdate_sound_sequence), "::", - stringify!(getTempo) + stringify!(getTempo_deprecated) ) ); assert_eq!( @@ -7504,6 +7554,16 @@ fn bindgen_test_layout_playdate_sound_sequence() { stringify!(setCurrentStep) ) ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getTempo) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(playdate_sound_sequence), + "::", + stringify!(getTempo) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone)] diff --git a/crankstart-sys/src/bindings_playdate.rs b/crankstart-sys/src/bindings_playdate.rs index 64cd530..efcdf6e 100644 --- a/crankstart-sys/src/bindings_playdate.rs +++ b/crankstart-sys/src/bindings_playdate.rs @@ -366,7 +366,8 @@ pub struct playdate_graphics { pub clear: ::core::option::Option, pub setBackgroundColor: ::core::option::Option, pub setStencil: ::core::option::Option, - pub setDrawMode: ::core::option::Option, + pub setDrawMode: + ::core::option::Option LCDBitmapDrawMode>, pub setDrawOffset: ::core::option::Option, pub setClipRect: ::core::option::Option< @@ -653,6 +654,23 @@ pub struct playdate_graphics { unsafe extern "C" fn(data: *mut LCDFontData, wide: ctypes::c_int) -> *mut LCDFont, >, pub getTextTracking: ::core::option::Option ctypes::c_int>, + pub setPixel: ::core::option::Option< + unsafe extern "C" fn(x: ctypes::c_int, y: ctypes::c_int, c: LCDColor), + >, + pub getBitmapPixel: ::core::option::Option< + unsafe extern "C" fn( + bitmap: *mut LCDBitmap, + x: ctypes::c_int, + y: ctypes::c_int, + ) -> LCDSolidColor, + >, + pub getBitmapTableInfo: ::core::option::Option< + unsafe extern "C" fn( + table: *mut LCDBitmapTable, + count: *mut ctypes::c_int, + width: *mut ctypes::c_int, + ), + >, } #[test] fn bindgen_test_layout_playdate_graphics() { @@ -660,7 +678,7 @@ fn bindgen_test_layout_playdate_graphics() { let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), - 240usize, + 252usize, concat!("Size of: ", stringify!(playdate_graphics)) ); assert_eq!( @@ -1268,6 +1286,36 @@ fn bindgen_test_layout_playdate_graphics() { stringify!(getTextTracking) ) ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).setPixel) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(setPixel) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getBitmapPixel) as usize - ptr as usize }, + 244usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(getBitmapPixel) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getBitmapTableInfo) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(getBitmapTableInfo) + ) + ); } impl Default for playdate_graphics { fn default() -> Self { @@ -5366,6 +5414,7 @@ pub struct playdate_sound_sample { format: SoundFormat, sampleRate: u32, byteCount: ctypes::c_int, + shouldFreeData: ctypes::c_int, ) -> *mut AudioSample, >, pub getData: ::core::option::Option< @@ -7254,7 +7303,7 @@ pub struct playdate_sound_sequence { loops: ctypes::c_int, ), >, - pub getTempo: + pub getTempo_deprecated: ::core::option::Option ctypes::c_int>, pub setTempo: ::core::option::Option, @@ -7298,6 +7347,7 @@ pub struct playdate_sound_sequence { playNotes: ctypes::c_int, ), >, + pub getTempo: ::core::option::Option f32>, } #[test] fn bindgen_test_layout_playdate_sound_sequence() { @@ -7306,7 +7356,7 @@ fn bindgen_test_layout_playdate_sound_sequence() { let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), - 76usize, + 80usize, concat!("Size of: ", stringify!(playdate_sound_sequence)) ); assert_eq!( @@ -7375,13 +7425,13 @@ fn bindgen_test_layout_playdate_sound_sequence() { ) ); assert_eq!( - unsafe { ::core::ptr::addr_of!((*ptr).getTempo) as usize - ptr as usize }, + unsafe { ::core::ptr::addr_of!((*ptr).getTempo_deprecated) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", stringify!(playdate_sound_sequence), "::", - stringify!(getTempo) + stringify!(getTempo_deprecated) ) ); assert_eq!( @@ -7504,6 +7554,16 @@ fn bindgen_test_layout_playdate_sound_sequence() { stringify!(setCurrentStep) ) ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getTempo) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(playdate_sound_sequence), + "::", + stringify!(getTempo) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone)] diff --git a/crankstart-sys/src/bindings_x86.rs b/crankstart-sys/src/bindings_x86.rs index 1069ac4..73a8b62 100644 --- a/crankstart-sys/src/bindings_x86.rs +++ b/crankstart-sys/src/bindings_x86.rs @@ -366,7 +366,8 @@ pub struct playdate_graphics { pub clear: ::core::option::Option, pub setBackgroundColor: ::core::option::Option, pub setStencil: ::core::option::Option, - pub setDrawMode: ::core::option::Option, + pub setDrawMode: + ::core::option::Option LCDBitmapDrawMode>, pub setDrawOffset: ::core::option::Option, pub setClipRect: ::core::option::Option< @@ -653,6 +654,23 @@ pub struct playdate_graphics { unsafe extern "C" fn(data: *mut LCDFontData, wide: ctypes::c_int) -> *mut LCDFont, >, pub getTextTracking: ::core::option::Option ctypes::c_int>, + pub setPixel: ::core::option::Option< + unsafe extern "C" fn(x: ctypes::c_int, y: ctypes::c_int, c: LCDColor), + >, + pub getBitmapPixel: ::core::option::Option< + unsafe extern "C" fn( + bitmap: *mut LCDBitmap, + x: ctypes::c_int, + y: ctypes::c_int, + ) -> LCDSolidColor, + >, + pub getBitmapTableInfo: ::core::option::Option< + unsafe extern "C" fn( + table: *mut LCDBitmapTable, + count: *mut ctypes::c_int, + width: *mut ctypes::c_int, + ), + >, } #[test] fn bindgen_test_layout_playdate_graphics() { @@ -660,7 +678,7 @@ fn bindgen_test_layout_playdate_graphics() { let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), - 480usize, + 504usize, concat!("Size of: ", stringify!(playdate_graphics)) ); assert_eq!( @@ -1268,6 +1286,36 @@ fn bindgen_test_layout_playdate_graphics() { stringify!(getTextTracking) ) ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).setPixel) as usize - ptr as usize }, + 480usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(setPixel) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getBitmapPixel) as usize - ptr as usize }, + 488usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(getBitmapPixel) + ) + ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getBitmapTableInfo) as usize - ptr as usize }, + 496usize, + concat!( + "Offset of field: ", + stringify!(playdate_graphics), + "::", + stringify!(getBitmapTableInfo) + ) + ); } impl Default for playdate_graphics { fn default() -> Self { @@ -5366,6 +5414,7 @@ pub struct playdate_sound_sample { format: SoundFormat, sampleRate: u32, byteCount: ctypes::c_int, + shouldFreeData: ctypes::c_int, ) -> *mut AudioSample, >, pub getData: ::core::option::Option< @@ -7254,7 +7303,7 @@ pub struct playdate_sound_sequence { loops: ctypes::c_int, ), >, - pub getTempo: + pub getTempo_deprecated: ::core::option::Option ctypes::c_int>, pub setTempo: ::core::option::Option, @@ -7298,6 +7347,7 @@ pub struct playdate_sound_sequence { playNotes: ctypes::c_int, ), >, + pub getTempo: ::core::option::Option f32>, } #[test] fn bindgen_test_layout_playdate_sound_sequence() { @@ -7306,7 +7356,7 @@ fn bindgen_test_layout_playdate_sound_sequence() { let ptr = UNINIT.as_ptr(); assert_eq!( ::core::mem::size_of::(), - 152usize, + 160usize, concat!("Size of: ", stringify!(playdate_sound_sequence)) ); assert_eq!( @@ -7375,13 +7425,13 @@ fn bindgen_test_layout_playdate_sound_sequence() { ) ); assert_eq!( - unsafe { ::core::ptr::addr_of!((*ptr).getTempo) as usize - ptr as usize }, + unsafe { ::core::ptr::addr_of!((*ptr).getTempo_deprecated) as usize - ptr as usize }, 48usize, concat!( "Offset of field: ", stringify!(playdate_sound_sequence), "::", - stringify!(getTempo) + stringify!(getTempo_deprecated) ) ); assert_eq!( @@ -7504,6 +7554,16 @@ fn bindgen_test_layout_playdate_sound_sequence() { stringify!(setCurrentStep) ) ); + assert_eq!( + unsafe { ::core::ptr::addr_of!((*ptr).getTempo) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(playdate_sound_sequence), + "::", + stringify!(getTempo) + ) + ); } #[repr(C)] #[derive(Debug, Copy, Clone)] diff --git a/src/graphics.rs b/src/graphics.rs index 6d99074..ed62875 100644 --- a/src/graphics.rs +++ b/src/graphics.rs @@ -546,7 +546,7 @@ impl Graphics { pd_func_caller!((*self.0).setBackgroundColor, color) } - pub fn set_draw_mode(&self, mode: LCDBitmapDrawMode) -> Result<(), Error> { + pub fn set_draw_mode(&self, mode: LCDBitmapDrawMode) -> Result { pd_func_caller!((*self.0).setDrawMode, mode) }