use crate::io::Io;
use crate::sys;
impl Io {
#[doc(alias = "MouseDelta")]
pub fn mouse_delta(&self) -> [f32; 2] {
let delta = self.inner().MouseDelta;
[delta.x, delta.y]
}
#[doc(alias = "KeyCtrl")]
pub fn key_ctrl(&self) -> bool {
self.inner().KeyCtrl
}
#[doc(alias = "KeyShift")]
pub fn key_shift(&self) -> bool {
self.inner().KeyShift
}
#[doc(alias = "KeyAlt")]
pub fn key_alt(&self) -> bool {
self.inner().KeyAlt
}
#[doc(alias = "KeySuper")]
pub fn key_super(&self) -> bool {
self.inner().KeySuper
}
#[doc(alias = "MouseSource")]
pub fn mouse_source(&self) -> crate::input::MouseSource {
match self.inner().MouseSource {
sys::ImGuiMouseSource_Mouse => crate::input::MouseSource::Mouse,
sys::ImGuiMouseSource_TouchScreen => crate::input::MouseSource::TouchScreen,
sys::ImGuiMouseSource_Pen => crate::input::MouseSource::Pen,
_ => crate::input::MouseSource::Mouse,
}
}
#[doc(alias = "MouseHoveredViewport")]
pub fn mouse_hovered_viewport(&self) -> crate::Id {
crate::Id::from(self.inner().MouseHoveredViewport)
}
#[doc(alias = "MouseHoveredViewport")]
pub fn set_mouse_hovered_viewport(&mut self, viewport_id: crate::Id) {
self.inner_mut().MouseHoveredViewport = viewport_id.raw();
}
#[doc(alias = "MouseCtrlLeftAsRightClick")]
pub fn mouse_ctrl_left_as_right_click(&self) -> bool {
self.inner().MouseCtrlLeftAsRightClick
}
#[doc(alias = "MouseCtrlLeftAsRightClick")]
pub fn set_mouse_ctrl_left_as_right_click(&mut self, enabled: bool) {
self.inner_mut().MouseCtrlLeftAsRightClick = enabled;
}
}