1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
use ffi; #[cfg(feature = "glib")] use glib::translate::*; #[cfg(feature = "glib")] use std::mem; #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] #[repr(C)] pub struct RectangleInt { pub x: i32, pub y: i32, pub width: i32, pub height: i32, } #[cfg(feature = "glib")] #[doc(hidden)] impl Uninitialized for RectangleInt { #[inline] unsafe fn uninitialized() -> Self { mem::uninitialized() } } #[cfg(feature = "glib")] #[doc(hidden)] impl<'a> ToGlibPtr<'a, *const ffi::cairo_rectangle_int_t> for RectangleInt { type Storage = &'a Self; #[inline] fn to_glib_none(&'a self) -> Stash<'a, *const ffi::cairo_rectangle_int_t, Self> { let ptr: *const RectangleInt = &*self; Stash(ptr as *const ffi::cairo_rectangle_int_t, self) } } #[cfg(feature = "glib")] #[doc(hidden)] impl<'a> ToGlibPtrMut<'a, *mut ffi::cairo_rectangle_int_t> for RectangleInt { type Storage = &'a mut Self; #[inline] fn to_glib_none_mut(&'a mut self) -> StashMut<'a, *mut ffi::cairo_rectangle_int_t, Self> { let ptr: *mut RectangleInt = &mut *self; StashMut(ptr as *mut ffi::cairo_rectangle_int_t, self) } } #[cfg(feature = "glib")] #[doc(hidden)] impl FromGlibPtrNone<*const ffi::cairo_rectangle_int_t> for RectangleInt { unsafe fn from_glib_none(ptr: *const ffi::cairo_rectangle_int_t) -> Self { *(ptr as *const RectangleInt) } } #[cfg(feature = "glib")] #[doc(hidden)] impl FromGlibPtrNone<*mut ffi::cairo_rectangle_int_t> for RectangleInt { unsafe fn from_glib_none(ptr: *mut ffi::cairo_rectangle_int_t) -> Self { *(ptr as *mut RectangleInt) } } impl RectangleInt { #[doc(hidden)] pub fn to_raw_none(&self) -> *mut ffi::cairo_rectangle_int_t { let ptr = &*self as *const RectangleInt as usize; ptr as *mut ffi::cairo_rectangle_int_t } }