use super::*;
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum GamepadMode {
AutoFirst,
AutoAll,
}
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum MouseCaptureMode {
Enabled,
EnabledAfterDrag,
Disabled,
}
pub(crate) fn set_gamepad_mode(mode: GamepadMode) {
unsafe {
match mode {
GamepadMode::AutoFirst => ffi::ImGui_ImplSDL3_SetGamepadMode_AutoFirst_Rust(),
GamepadMode::AutoAll => ffi::ImGui_ImplSDL3_SetGamepadMode_AutoAll_Rust(),
}
}
}
pub(crate) unsafe fn set_gamepad_mode_manual(gamepads: &[*mut sdl3_sys::gamepad::SDL_Gamepad]) {
unsafe {
ffi::ImGui_ImplSDL3_SetGamepadMode_Manual_Rust(gamepads.as_ptr(), gamepads.len() as i32);
}
}
pub(crate) fn set_mouse_capture_mode(mode: MouseCaptureMode) {
unsafe {
match mode {
MouseCaptureMode::Enabled => ffi::ImGui_ImplSDL3_SetMouseCaptureMode_Enabled_Rust(),
MouseCaptureMode::EnabledAfterDrag => {
ffi::ImGui_ImplSDL3_SetMouseCaptureMode_EnabledAfterDrag_Rust()
}
MouseCaptureMode::Disabled => ffi::ImGui_ImplSDL3_SetMouseCaptureMode_Disabled_Rust(),
}
}
}