use crate::{ffi, AsRaw, FromRaw};
ffi_ref_struct! {
struct TabletPadModeGroup, ffi::libinput_tablet_pad_mode_group, ffi::libinput_tablet_pad_mode_group_ref, ffi::libinput_tablet_pad_mode_group_unref
}
impl TabletPadModeGroup {
pub fn button_is_toggle(&self, button: u32) -> bool {
unsafe {
ffi::libinput_tablet_pad_mode_group_button_is_toggle(self.as_raw_mut(), button) != 0
}
}
ffi_func!(
pub fn index, ffi::libinput_tablet_pad_mode_group_get_index, u32);
ffi_func!(
pub fn mode, ffi::libinput_tablet_pad_mode_group_get_mode, u32);
ffi_func!(
pub fn number_of_modes, ffi::libinput_tablet_pad_mode_group_get_num_modes, u32);
pub fn has_button(&self, button: u32) -> bool {
unsafe { ffi::libinput_tablet_pad_mode_group_has_button(self.as_raw_mut(), button) != 0 }
}
pub fn has_ring(&self, ring: u32) -> bool {
unsafe { ffi::libinput_tablet_pad_mode_group_has_ring(self.as_raw_mut(), ring) != 0 }
}
#[cfg(feature = "libinput_1_26")]
pub fn has_dial(&self, dial: u32) -> bool {
unsafe { ffi::libinput_tablet_pad_mode_group_has_dial(self.as_raw_mut(), dial) != 0 }
}
pub fn has_strip(&self, strip: u32) -> bool {
unsafe { ffi::libinput_tablet_pad_mode_group_has_strip(self.as_raw_mut(), strip) != 0 }
}
}