1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] 2 #[cfg(feature = "Devices_Input_Preview")] 3 pub mod Preview; 4 #[link(name = "windows")] 5 extern "system" {} 6 pub type KeyboardCapabilities = *mut ::core::ffi::c_void; 7 pub type MouseCapabilities = *mut ::core::ffi::c_void; 8 #[repr(C)] 9 pub struct MouseDelta { 10 pub X: i32, 11 pub Y: i32, 12 } 13 impl ::core::marker::Copy for MouseDelta {} 14 impl ::core::clone::Clone for MouseDelta { clone(&self) -> Self15 fn clone(&self) -> Self { 16 *self 17 } 18 } 19 pub type MouseDevice = *mut ::core::ffi::c_void; 20 pub type MouseEventArgs = *mut ::core::ffi::c_void; 21 pub type PenButtonListener = *mut ::core::ffi::c_void; 22 pub type PenDevice = *mut ::core::ffi::c_void; 23 pub type PenDockListener = *mut ::core::ffi::c_void; 24 pub type PenDockedEventArgs = *mut ::core::ffi::c_void; 25 pub type PenTailButtonClickedEventArgs = *mut ::core::ffi::c_void; 26 pub type PenTailButtonDoubleClickedEventArgs = *mut ::core::ffi::c_void; 27 pub type PenTailButtonLongPressedEventArgs = *mut ::core::ffi::c_void; 28 pub type PenUndockedEventArgs = *mut ::core::ffi::c_void; 29 pub type PointerDevice = *mut ::core::ffi::c_void; 30 #[repr(transparent)] 31 pub struct PointerDeviceType(pub i32); 32 impl PointerDeviceType { 33 pub const Touch: Self = Self(0i32); 34 pub const Pen: Self = Self(1i32); 35 pub const Mouse: Self = Self(2i32); 36 } 37 impl ::core::marker::Copy for PointerDeviceType {} 38 impl ::core::clone::Clone for PointerDeviceType { clone(&self) -> Self39 fn clone(&self) -> Self { 40 *self 41 } 42 } 43 #[repr(C)] 44 pub struct PointerDeviceUsage { 45 pub UsagePage: u32, 46 pub Usage: u32, 47 pub MinLogical: i32, 48 pub MaxLogical: i32, 49 pub MinPhysical: i32, 50 pub MaxPhysical: i32, 51 pub Unit: u32, 52 pub PhysicalMultiplier: f32, 53 } 54 impl ::core::marker::Copy for PointerDeviceUsage {} 55 impl ::core::clone::Clone for PointerDeviceUsage { clone(&self) -> Self56 fn clone(&self) -> Self { 57 *self 58 } 59 } 60 pub type TouchCapabilities = *mut ::core::ffi::c_void; 61