use super::*;
impl Ui {
#[doc(alias = "GetMouseCursor")]
pub fn mouse_cursor(&self) -> Option<MouseCursor> {
unsafe {
match sys::igGetMouseCursor() {
sys::ImGuiMouseCursor_Arrow => Some(MouseCursor::Arrow),
sys::ImGuiMouseCursor_TextInput => Some(MouseCursor::TextInput),
sys::ImGuiMouseCursor_ResizeAll => Some(MouseCursor::ResizeAll),
sys::ImGuiMouseCursor_ResizeNS => Some(MouseCursor::ResizeNS),
sys::ImGuiMouseCursor_ResizeEW => Some(MouseCursor::ResizeEW),
sys::ImGuiMouseCursor_ResizeNESW => Some(MouseCursor::ResizeNESW),
sys::ImGuiMouseCursor_ResizeNWSE => Some(MouseCursor::ResizeNWSE),
sys::ImGuiMouseCursor_Hand => Some(MouseCursor::Hand),
sys::ImGuiMouseCursor_NotAllowed => Some(MouseCursor::NotAllowed),
_ => None,
}
}
}
#[doc(alias = "SetMouseCursor")]
pub fn set_mouse_cursor(&self, cursor_type: Option<MouseCursor>) {
unsafe {
let val: sys::ImGuiMouseCursor = cursor_type
.map(|x| x as sys::ImGuiMouseCursor)
.unwrap_or(sys::ImGuiMouseCursor_None);
sys::igSetMouseCursor(val);
}
}
#[doc(alias = "SetKeyboardFocusHere")]
pub fn set_keyboard_focus_here(&self) {
self.set_keyboard_focus_here_with_offset(0);
}
#[doc(alias = "SetKeyboardFocusHere")]
pub fn set_keyboard_focus_here_with_offset(&self, offset: i32) {
unsafe {
sys::igSetKeyboardFocusHere(offset);
}
}
#[doc(alias = "SetNavCursorVisible")]
pub fn set_nav_cursor_visible(&self, visible: bool) {
self.run_with_bound_context(|| unsafe { sys::igSetNavCursorVisible(visible) });
}
}