1use crate::ffi;
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9 #[doc(alias = "GdkPadEvent")]
10 pub struct PadEvent(Shared<ffi::GdkPadEvent>);
11
12 match fn {
13 ref => |ptr| ffi::gdk_event_ref(ptr as *mut ffi::GdkEvent),
14 unref => |ptr| ffi::gdk_event_unref(ptr as *mut ffi::GdkEvent),
15 }
16}
17
18impl StaticType for PadEvent {
19 fn static_type() -> glib::Type {
20 unsafe { from_glib(ffi::gdk_pad_event_get_type()) }
21 }
22}
23
24impl PadEvent {
25 #[doc(alias = "gdk_pad_event_get_axis_value")]
26 #[doc(alias = "get_axis_value")]
27 pub fn axis_value(&self) -> (u32, f64) {
28 unsafe {
29 let mut index = std::mem::MaybeUninit::uninit();
30 let mut value = std::mem::MaybeUninit::uninit();
31 ffi::gdk_pad_event_get_axis_value(
32 self.to_glib_none().0,
33 index.as_mut_ptr(),
34 value.as_mut_ptr(),
35 );
36 (index.assume_init(), value.assume_init())
37 }
38 }
39
40 #[doc(alias = "gdk_pad_event_get_button")]
41 #[doc(alias = "get_button")]
42 pub fn button(&self) -> u32 {
43 unsafe { ffi::gdk_pad_event_get_button(self.to_glib_none().0) }
44 }
45
46 #[doc(alias = "gdk_pad_event_get_group_mode")]
47 #[doc(alias = "get_group_mode")]
48 pub fn group_mode(&self) -> (u32, u32) {
49 unsafe {
50 let mut group = std::mem::MaybeUninit::uninit();
51 let mut mode = std::mem::MaybeUninit::uninit();
52 ffi::gdk_pad_event_get_group_mode(
53 self.to_glib_none().0,
54 group.as_mut_ptr(),
55 mode.as_mut_ptr(),
56 );
57 (group.assume_init(), mode.assume_init())
58 }
59 }
60}