use crate::sys;
bitflags::bitflags! {
#[repr(transparent)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DockNodeFlags: i32 {
const NONE = sys::ImGuiDockNodeFlags_None as i32;
const KEEP_ALIVE_ONLY = sys::ImGuiDockNodeFlags_KeepAliveOnly as i32;
const NO_DOCKING_OVER_CENTRAL_NODE = sys::ImGuiDockNodeFlags_NoDockingOverCentralNode as i32;
const PASSTHRU_CENTRAL_NODE = sys::ImGuiDockNodeFlags_PassthruCentralNode as i32;
const NO_DOCKING_SPLIT = sys::ImGuiDockNodeFlags_NoDockingSplit as i32;
const NO_RESIZE = sys::ImGuiDockNodeFlags_NoResize as i32;
const AUTO_HIDE_TAB_BAR = sys::ImGuiDockNodeFlags_AutoHideTabBar as i32;
const NO_UNDOCKING = sys::ImGuiDockNodeFlags_NoUndocking as i32;
}
}
pub(crate) fn validate_dock_node_flags(caller: &str, flags: DockNodeFlags) {
let unsupported = flags.bits() & !DockNodeFlags::all().bits();
assert!(
unsupported == 0,
"{caller} received unsupported ImGuiDockNodeFlags bits: 0x{unsupported:X}"
);
}
pub use DockNodeFlags as DockFlags;