From 507d5d5065eaf0773cf0258be79cb496eac5a51f Mon Sep 17 00:00:00 2001 From: dbr Date: Wed, 3 Mar 2021 15:36:28 +1100 Subject: [PATCH] Update to imgui 1.81 Changes: - No more ListBox::calculate_size(...) as this was deprecated upstream --- imgui-examples/examples/test_window_impl.rs | 2 +- imgui-sys/src/bindings.rs | 3984 ++++++++++++++++- imgui-sys/src/wasm_bindings.rs | 4473 ++++++++++++++++++- imgui-sys/third-party/cimgui | 2 +- imgui/src/draw_list.rs | 4 +- imgui/src/fonts/atlas.rs | 12 +- imgui/src/lib.rs | 2 +- imgui/src/render/draw_data.rs | 4 +- imgui/src/widget/list_box.rs | 38 +- imgui/src/window/scroll.rs | 12 +- 10 files changed, 8403 insertions(+), 130 deletions(-) diff --git a/imgui-examples/examples/test_window_impl.rs b/imgui-examples/examples/test_window_impl.rs index 4240561..33c6240 100644 --- a/imgui-examples/examples/test_window_impl.rs +++ b/imgui-examples/examples/test_window_impl.rs @@ -515,7 +515,7 @@ fn show_test_window(ui: &Ui, state: &mut State, opened: &mut bool) { im_str!("Tilefish"), ]; - ListBox::new(im_str!("selectables list")).calculate_size(8, 4).build(ui, || { + ListBox::new(im_str!("selectables list")).build(ui, || { for (index, name) in names.iter().enumerate() { let selected = matches!(state.selected_fish2, Some(i) if i == index ); if Selectable::new(name).selected(selected).build(ui) { diff --git a/imgui-sys/src/bindings.rs b/imgui-sys/src/bindings.rs index 758faa2..43921cc 100644 --- a/imgui-sys/src/bindings.rs +++ b/imgui-sys/src/bindings.rs @@ -83,21 +83,71 @@ where } } } +pub type __int64_t = cty::c_long; +pub type __uint64_t = cty::c_ulong; +pub type __off_t = cty::c_long; +pub type __off64_t = cty::c_long; +pub type FILE = _IO_FILE; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct ImGuiContext { +pub struct _IO_marker { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct ImDrawListSharedData { +pub struct _IO_codecvt { _unused: [u8; 0], } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_wide_data { + _unused: [u8; 0], +} +pub type _IO_lock_t = cty::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct _IO_FILE { + pub _flags: cty::c_int, + pub _IO_read_ptr: *mut cty::c_char, + pub _IO_read_end: *mut cty::c_char, + pub _IO_read_base: *mut cty::c_char, + pub _IO_write_base: *mut cty::c_char, + pub _IO_write_ptr: *mut cty::c_char, + pub _IO_write_end: *mut cty::c_char, + pub _IO_buf_base: *mut cty::c_char, + pub _IO_buf_end: *mut cty::c_char, + pub _IO_save_base: *mut cty::c_char, + pub _IO_backup_base: *mut cty::c_char, + pub _IO_save_end: *mut cty::c_char, + pub _markers: *mut _IO_marker, + pub _chain: *mut _IO_FILE, + pub _fileno: cty::c_int, + pub _flags2: cty::c_int, + pub _old_offset: __off_t, + pub _cur_column: cty::c_ushort, + pub _vtable_offset: cty::c_schar, + pub _shortbuf: [cty::c_char; 1usize], + pub _lock: *mut _IO_lock_t, + pub _offset: __off64_t, + pub _codecvt: *mut _IO_codecvt, + pub _wide_data: *mut _IO_wide_data, + pub _freeres_list: *mut _IO_FILE, + pub _freeres_buf: *mut cty::c_void, + pub __pad5: usize, + pub _mode: cty::c_int, + pub _unused2: [cty::c_char; 20usize], +} +impl Default for _IO_FILE { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} pub type ImGuiCol = cty::c_int; pub type ImGuiCond = cty::c_int; pub type ImGuiDataType = cty::c_int; pub type ImGuiDir = cty::c_int; pub type ImGuiKey = cty::c_int; +pub type ImGuiNavInput = cty::c_int; pub type ImGuiMouseButton = cty::c_int; pub type ImGuiMouseCursor = cty::c_int; pub type ImGuiSortDirection = cty::c_int; @@ -125,6 +175,7 @@ pub type ImGuiTableFlags = cty::c_int; pub type ImGuiTableColumnFlags = cty::c_int; pub type ImGuiTableRowFlags = cty::c_int; pub type ImGuiTreeNodeFlags = cty::c_int; +pub type ImGuiViewportFlags = cty::c_int; pub type ImGuiWindowFlags = cty::c_int; pub type ImTextureID = *mut cty::c_void; pub type ImGuiID = cty::c_uint; @@ -135,13 +186,115 @@ pub type ImGuiSizeCallback = ::core::option::Option; pub type ImWchar16 = cty::c_ushort; pub type ImWchar = ImWchar16; +pub type ImS8 = cty::c_schar; pub type ImU8 = cty::c_uchar; pub type ImS16 = cty::c_short; pub type ImU32 = cty::c_uint; +pub type ImS64 = i64; +pub type ImU64 = u64; pub type ImDrawCallback = ::core::option::Option< unsafe extern "C" fn(parent_list: *const ImDrawList, cmd: *const ImDrawCmd), >; pub type ImDrawIdx = cty::c_ushort; +pub type ImGuiLayoutType = cty::c_int; +pub type ImGuiItemFlags = cty::c_int; +pub type ImGuiItemStatusFlags = cty::c_int; +pub type ImGuiOldColumnFlags = cty::c_int; +pub type ImGuiNavHighlightFlags = cty::c_int; +pub type ImGuiNavDirSourceFlags = cty::c_int; +pub type ImGuiNavMoveFlags = cty::c_int; +pub type ImGuiNextItemDataFlags = cty::c_int; +pub type ImGuiNextWindowDataFlags = cty::c_int; +pub type ImGuiSeparatorFlags = cty::c_int; +pub type ImGuiTextFlags = cty::c_int; +pub type ImGuiTooltipFlags = cty::c_int; +pub type ImGuiErrorLogCallback = ::core::option::Option< + unsafe extern "C" fn(user_data: *mut cty::c_void, fmt: *const cty::c_char, ...), +>; +pub type ImFileHandle = *mut FILE; +pub type ImPoolIdx = cty::c_int; +pub type ImGuiContextHookCallback = ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, hook: *mut ImGuiContextHook), +>; +pub type ImGuiTableColumnIdx = ImS8; +pub type ImGuiTableDrawChannelIdx = ImU8; +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTableSettings { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTableSettings, +} +impl Default for ImVector_ImGuiTableSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImChunkStream_ImGuiTableSettings { + pub Buf: ImVector_ImGuiTableSettings, +} +impl Default for ImChunkStream_ImGuiTableSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiWindowSettings { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiWindowSettings, +} +impl Default for ImVector_ImGuiWindowSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImChunkStream_ImGuiWindowSettings { + pub Buf: ImVector_ImGuiWindowSettings, +} +impl Default for ImChunkStream_ImGuiWindowSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImSpan_ImGuiTableCellData { + pub Data: *mut ImGuiTableCellData, + pub DataEnd: *mut ImGuiTableCellData, +} +impl Default for ImSpan_ImGuiTableCellData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImSpan_ImGuiTableColumn { + pub Data: *mut ImGuiTableColumn, + pub DataEnd: *mut ImGuiTableColumn, +} +impl Default for ImSpan_ImGuiTableColumn { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImSpan_ImGuiTableColumnIdx { + pub Data: *mut ImGuiTableColumnIdx, + pub DataEnd: *mut ImGuiTableColumnIdx, +} +impl Default for ImSpan_ImGuiTableColumnIdx { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImDrawChannel { @@ -180,6 +333,18 @@ impl Default for ImVector_ImDrawIdx { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImDrawListPtr { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut *mut ImDrawList, +} +impl Default for ImVector_ImDrawListPtr { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImDrawVert { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -240,6 +405,138 @@ impl Default for ImVector_ImFontGlyph { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiColorMod { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiColorMod, +} +impl Default for ImVector_ImGuiColorMod { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiContextHook { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiContextHook, +} +impl Default for ImVector_ImGuiContextHook { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiGroupData { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiGroupData, +} +impl Default for ImVector_ImGuiGroupData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiID { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiID, +} +impl Default for ImVector_ImGuiID { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiItemFlags { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiItemFlags, +} +impl Default for ImVector_ImGuiItemFlags { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiOldColumnData { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiOldColumnData, +} +impl Default for ImVector_ImGuiOldColumnData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiOldColumns { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiOldColumns, +} +impl Default for ImVector_ImGuiOldColumns { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiPopupData { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiPopupData, +} +impl Default for ImVector_ImGuiPopupData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiPtrOrIndex { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiPtrOrIndex, +} +impl Default for ImVector_ImGuiPtrOrIndex { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiSettingsHandler { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiSettingsHandler, +} +impl Default for ImVector_ImGuiSettingsHandler { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiShrinkWidthItem { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiShrinkWidthItem, +} +impl Default for ImVector_ImGuiShrinkWidthItem { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImGuiStoragePair { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -252,6 +549,42 @@ impl Default for ImVector_ImGuiStoragePair { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiStyleMod { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiStyleMod, +} +impl Default for ImVector_ImGuiStyleMod { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTabItem { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTabItem, +} +impl Default for ImVector_ImGuiTabItem { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTableColumnSortSpecs { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTableColumnSortSpecs, +} +impl Default for ImVector_ImGuiTableColumnSortSpecs { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImGuiTextRange { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -264,6 +597,30 @@ impl Default for ImVector_ImGuiTextRange { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiViewportPPtr { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut *mut ImGuiViewportP, +} +impl Default for ImVector_ImGuiViewportPPtr { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiWindowPtr { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut *mut ImGuiWindow, +} +impl Default for ImVector_ImGuiWindowPtr { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImTextureID { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -347,6 +704,18 @@ impl Default for ImVector_float { } } #[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_unsigned_char { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut cty::c_uchar, +} +impl Default for ImVector_unsigned_char { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct ImVec2 { pub x: f32, @@ -1175,6 +1544,54 @@ impl Default for ImGuiStorage { } } #[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTabBar { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTabBar, +} +impl Default for ImVector_ImGuiTabBar { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImPool_ImGuiTabBar { + pub Buf: ImVector_ImGuiTabBar, + pub Map: ImGuiStorage, + pub FreeIdx: ImPoolIdx, +} +impl Default for ImPool_ImGuiTabBar { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTable { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTable, +} +impl Default for ImVector_ImGuiTable { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImPool_ImGuiTable { + pub Buf: ImVector_ImGuiTable, + pub Map: ImGuiStorage, + pub FreeIdx: ImPoolIdx, +} +impl Default for ImPool_ImGuiTable { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct ImGuiListClipper { pub DisplayStart: cty::c_int, @@ -1293,10 +1710,10 @@ impl Default for ImDrawList { #[derive(Debug, Copy, Clone, PartialEq)] pub struct ImDrawData { pub Valid: bool, - pub CmdLists: *mut *mut ImDrawList, pub CmdListsCount: cty::c_int, pub TotalIdxCount: cty::c_int, pub TotalVtxCount: cty::c_int, + pub CmdLists: *mut *mut ImDrawList, pub DisplayPos: ImVec2, pub DisplaySize: ImVec2, pub FramebufferScale: ImVec2, @@ -1323,7 +1740,7 @@ pub struct ImFontConfig { pub GlyphMinAdvanceX: f32, pub GlyphMaxAdvanceX: f32, pub MergeMode: bool, - pub RasterizerFlags: cty::c_uint, + pub FontBuilderFlags: cty::c_uint, pub RasterizerMultiply: f32, pub EllipsisChar: ImWchar, pub Name: [cty::c_char; 40usize], @@ -1336,7 +1753,7 @@ impl Default for ImFontConfig { } impl ::core::fmt::Debug for ImFontConfig { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - write ! (f , "ImFontConfig {{ FontData: {:?}, FontDataSize: {:?}, FontDataOwnedByAtlas: {:?}, FontNo: {:?}, SizePixels: {:?}, OversampleH: {:?}, OversampleV: {:?}, PixelSnapH: {:?}, GlyphExtraSpacing: {:?}, GlyphOffset: {:?}, GlyphRanges: {:?}, GlyphMinAdvanceX: {:?}, GlyphMaxAdvanceX: {:?}, MergeMode: {:?}, RasterizerFlags: {:?}, RasterizerMultiply: {:?}, EllipsisChar: {:?}, Name: [...], DstFont: {:?} }}" , self . FontData , self . FontDataSize , self . FontDataOwnedByAtlas , self . FontNo , self . SizePixels , self . OversampleH , self . OversampleV , self . PixelSnapH , self . GlyphExtraSpacing , self . GlyphOffset , self . GlyphRanges , self . GlyphMinAdvanceX , self . GlyphMaxAdvanceX , self . MergeMode , self . RasterizerFlags , self . RasterizerMultiply , self . EllipsisChar , self . DstFont) + write ! (f , "ImFontConfig {{ FontData: {:?}, FontDataSize: {:?}, FontDataOwnedByAtlas: {:?}, FontNo: {:?}, SizePixels: {:?}, OversampleH: {:?}, OversampleV: {:?}, PixelSnapH: {:?}, GlyphExtraSpacing: {:?}, GlyphOffset: {:?}, GlyphRanges: {:?}, GlyphMinAdvanceX: {:?}, GlyphMaxAdvanceX: {:?}, MergeMode: {:?}, FontBuilderFlags: {:?}, RasterizerMultiply: {:?}, EllipsisChar: {:?}, Name: [...], DstFont: {:?} }}" , self . FontData , self . FontDataSize , self . FontDataOwnedByAtlas , self . FontNo , self . SizePixels , self . OversampleH , self . OversampleV , self . PixelSnapH , self . GlyphExtraSpacing , self . GlyphOffset , self . GlyphRanges , self . GlyphMinAdvanceX , self . GlyphMaxAdvanceX , self . MergeMode , self . FontBuilderFlags , self . RasterizerMultiply , self . EllipsisChar , self . DstFont) } } #[repr(C)] @@ -1355,42 +1772,58 @@ pub struct ImFontGlyph { } impl ImFontGlyph { #[inline] - pub fn Codepoint(&self) -> cty::c_uint { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 31u8) as u32) } + pub fn Colored(&self) -> cty::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } } #[inline] - pub fn set_Codepoint(&mut self, val: cty::c_uint) { + pub fn set_Colored(&mut self, val: cty::c_uint) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 31u8, val as u64) + self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] pub fn Visible(&self) -> cty::c_uint { - unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } } #[inline] pub fn set_Visible(&mut self, val: cty::c_uint) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(31usize, 1u8, val as u64) + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Codepoint(&self) -> cty::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Codepoint(&mut self, val: cty::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) } } #[inline] pub fn new_bitfield_1( - Codepoint: cty::c_uint, + Colored: cty::c_uint, Visible: cty::c_uint, + Codepoint: cty::c_uint, ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = Default::default(); - __bindgen_bitfield_unit.set(0usize, 31u8, { - let Codepoint: u32 = unsafe { ::core::mem::transmute(Codepoint) }; - Codepoint as u64 + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Colored: u32 = unsafe { ::core::mem::transmute(Colored) }; + Colored as u64 }); - __bindgen_bitfield_unit.set(31usize, 1u8, { + __bindgen_bitfield_unit.set(1usize, 1u8, { let Visible: u32 = unsafe { ::core::mem::transmute(Visible) }; Visible as u64 }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Codepoint: u32 = unsafe { ::core::mem::transmute(Codepoint) }; + Codepoint as u64 + }); __bindgen_bitfield_unit } } @@ -1444,6 +1877,8 @@ pub struct ImFontAtlas { pub CustomRects: ImVector_ImFontAtlasCustomRect, pub ConfigData: ImVector_ImFontConfig, pub TexUvLines: [ImVec4; 64usize], + pub FontBuilderIO: *const ImFontBuilderIO, + pub FontBuilderFlags: cty::c_uint, pub PackIdMouseCursors: cty::c_int, pub PackIdLines: cty::c_int, } @@ -1454,7 +1889,7 @@ impl Default for ImFontAtlas { } impl ::core::fmt::Debug for ImFontAtlas { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - write ! (f , "ImFontAtlas {{ Locked: {:?}, Flags: {:?}, TexID: {:?}, TexDesiredWidth: {:?}, TexGlyphPadding: {:?}, TexPixelsAlpha8: {:?}, TexPixelsRGBA32: {:?}, TexWidth: {:?}, TexHeight: {:?}, TexUvScale: {:?}, TexUvWhitePixel: {:?}, Fonts: {:?}, CustomRects: {:?}, ConfigData: {:?}, TexUvLines: [...], PackIdMouseCursors: {:?}, PackIdLines: {:?} }}" , self . Locked , self . Flags , self . TexID , self . TexDesiredWidth , self . TexGlyphPadding , self . TexPixelsAlpha8 , self . TexPixelsRGBA32 , self . TexWidth , self . TexHeight , self . TexUvScale , self . TexUvWhitePixel , self . Fonts , self . CustomRects , self . ConfigData , self . PackIdMouseCursors , self . PackIdLines) + write ! (f , "ImFontAtlas {{ Locked: {:?}, Flags: {:?}, TexID: {:?}, TexDesiredWidth: {:?}, TexGlyphPadding: {:?}, TexPixelsAlpha8: {:?}, TexPixelsRGBA32: {:?}, TexWidth: {:?}, TexHeight: {:?}, TexUvScale: {:?}, TexUvWhitePixel: {:?}, Fonts: {:?}, CustomRects: {:?}, ConfigData: {:?}, TexUvLines: [...], FontBuilderIO: {:?}, FontBuilderFlags: {:?}, PackIdMouseCursors: {:?}, PackIdLines: {:?} }}" , self . Locked , self . Flags , self . TexID , self . TexDesiredWidth , self . TexGlyphPadding , self . TexPixelsAlpha8 , self . TexPixelsRGBA32 , self . TexWidth , self . TexHeight , self . TexUvScale , self . TexUvWhitePixel , self . Fonts , self . CustomRects , self . ConfigData , self . FontBuilderIO , self . FontBuilderFlags , self . PackIdMouseCursors , self . PackIdLines) } } #[repr(C)] @@ -1483,6 +1918,1479 @@ impl Default for ImFont { unsafe { ::core::mem::zeroed() } } } +pub const ImGuiViewportFlags_None: ImGuiViewportFlags_ = 0; +pub const ImGuiViewportFlags_IsPlatformWindow: ImGuiViewportFlags_ = 1; +pub const ImGuiViewportFlags_IsPlatformMonitor: ImGuiViewportFlags_ = 2; +pub const ImGuiViewportFlags_OwnedByApp: ImGuiViewportFlags_ = 4; +pub type ImGuiViewportFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiViewport { + pub Flags: ImGuiViewportFlags, + pub Pos: ImVec2, + pub Size: ImVec2, + pub WorkPos: ImVec2, + pub WorkSize: ImVec2, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct StbUndoRecord { + pub where_: cty::c_int, + pub insert_length: cty::c_int, + pub delete_length: cty::c_int, + pub char_storage: cty::c_int, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct StbUndoState { + pub undo_rec: [StbUndoRecord; 99usize], + pub undo_char: [ImWchar; 999usize], + pub undo_point: cty::c_short, + pub redo_point: cty::c_short, + pub undo_char_point: cty::c_int, + pub redo_char_point: cty::c_int, +} +impl Default for StbUndoState { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for StbUndoState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "StbUndoState {{ undo_rec: [...], undo_char: [...], undo_point: {:?}, redo_point: {:?}, undo_char_point: {:?}, redo_char_point: {:?} }}" , self . undo_point , self . redo_point , self . undo_char_point , self . redo_char_point) + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STB_TexteditState { + pub cursor: cty::c_int, + pub select_start: cty::c_int, + pub select_end: cty::c_int, + pub insert_mode: cty::c_uchar, + pub row_count_per_page: cty::c_int, + pub cursor_at_end_of_line: cty::c_uchar, + pub initialized: cty::c_uchar, + pub has_preferred_x: cty::c_uchar, + pub single_line: cty::c_uchar, + pub padding1: cty::c_uchar, + pub padding2: cty::c_uchar, + pub padding3: cty::c_uchar, + pub preferred_x: f32, + pub undostate: StbUndoState, +} +impl Default for STB_TexteditState { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for STB_TexteditState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "STB_TexteditState {{ cursor: {:?}, select_start: {:?}, select_end: {:?}, insert_mode: {:?}, row_count_per_page: {:?}, cursor_at_end_of_line: {:?}, initialized: {:?}, has_preferred_x: {:?}, single_line: {:?}, padding1: {:?}, padding2: {:?}, padding3: {:?}, preferred_x: {:?}, undostate: {:?} }}" , self . cursor , self . select_start , self . select_end , self . insert_mode , self . row_count_per_page , self . cursor_at_end_of_line , self . initialized , self . has_preferred_x , self . single_line , self . padding1 , self . padding2 , self . padding3 , self . preferred_x , self . undostate) + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct StbTexteditRow { + pub x0: f32, + pub x1: f32, + pub baseline_y_delta: f32, + pub ymin: f32, + pub ymax: f32, + pub num_chars: cty::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImVec1 { + pub x: f32, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVec2ih { + pub x: cty::c_short, + pub y: cty::c_short, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImRect { + pub Min: ImVec2, + pub Max: ImVec2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImBitVector { + pub Storage: ImVector_ImU32, +} +impl Default for ImBitVector { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImDrawListSharedData { + pub TexUvWhitePixel: ImVec2, + pub Font: *mut ImFont, + pub FontSize: f32, + pub CurveTessellationTol: f32, + pub CircleSegmentMaxError: f32, + pub ClipRectFullscreen: ImVec4, + pub InitialFlags: ImDrawListFlags, + pub ArcFastVtx: [ImVec2; 12usize], + pub CircleSegmentCounts: [ImU8; 64usize], + pub TexUvLines: *const ImVec4, +} +impl Default for ImDrawListSharedData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImDrawListSharedData { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "ImDrawListSharedData {{ TexUvWhitePixel: {:?}, Font: {:?}, FontSize: {:?}, CurveTessellationTol: {:?}, CircleSegmentMaxError: {:?}, ClipRectFullscreen: {:?}, InitialFlags: {:?}, ArcFastVtx: {:?}, CircleSegmentCounts: [...], TexUvLines: {:?} }}" , self . TexUvWhitePixel , self . Font , self . FontSize , self . CurveTessellationTol , self . CircleSegmentMaxError , self . ClipRectFullscreen , self . InitialFlags , self . ArcFastVtx , self . TexUvLines) + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImDrawDataBuilder { + pub Layers: [ImVector_ImDrawListPtr; 2usize], +} +impl Default for ImDrawDataBuilder { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiItemFlags_None: ImGuiItemFlags_ = 0; +pub const ImGuiItemFlags_NoTabStop: ImGuiItemFlags_ = 1; +pub const ImGuiItemFlags_ButtonRepeat: ImGuiItemFlags_ = 2; +pub const ImGuiItemFlags_Disabled: ImGuiItemFlags_ = 4; +pub const ImGuiItemFlags_NoNav: ImGuiItemFlags_ = 8; +pub const ImGuiItemFlags_NoNavDefaultFocus: ImGuiItemFlags_ = 16; +pub const ImGuiItemFlags_SelectableDontClosePopup: ImGuiItemFlags_ = 32; +pub const ImGuiItemFlags_MixedValue: ImGuiItemFlags_ = 64; +pub const ImGuiItemFlags_ReadOnly: ImGuiItemFlags_ = 128; +pub const ImGuiItemFlags_Default_: ImGuiItemFlags_ = 0; +pub type ImGuiItemFlags_ = cty::c_uint; +pub const ImGuiItemStatusFlags_None: ImGuiItemStatusFlags_ = 0; +pub const ImGuiItemStatusFlags_HoveredRect: ImGuiItemStatusFlags_ = 1; +pub const ImGuiItemStatusFlags_HasDisplayRect: ImGuiItemStatusFlags_ = 2; +pub const ImGuiItemStatusFlags_Edited: ImGuiItemStatusFlags_ = 4; +pub const ImGuiItemStatusFlags_ToggledSelection: ImGuiItemStatusFlags_ = 8; +pub const ImGuiItemStatusFlags_ToggledOpen: ImGuiItemStatusFlags_ = 16; +pub const ImGuiItemStatusFlags_HasDeactivated: ImGuiItemStatusFlags_ = 32; +pub const ImGuiItemStatusFlags_Deactivated: ImGuiItemStatusFlags_ = 64; +pub type ImGuiItemStatusFlags_ = cty::c_uint; +pub const ImGuiButtonFlags_PressedOnClick: ImGuiButtonFlagsPrivate_ = 16; +pub const ImGuiButtonFlags_PressedOnClickRelease: ImGuiButtonFlagsPrivate_ = 32; +pub const ImGuiButtonFlags_PressedOnClickReleaseAnywhere: ImGuiButtonFlagsPrivate_ = 64; +pub const ImGuiButtonFlags_PressedOnRelease: ImGuiButtonFlagsPrivate_ = 128; +pub const ImGuiButtonFlags_PressedOnDoubleClick: ImGuiButtonFlagsPrivate_ = 256; +pub const ImGuiButtonFlags_PressedOnDragDropHold: ImGuiButtonFlagsPrivate_ = 512; +pub const ImGuiButtonFlags_Repeat: ImGuiButtonFlagsPrivate_ = 1024; +pub const ImGuiButtonFlags_FlattenChildren: ImGuiButtonFlagsPrivate_ = 2048; +pub const ImGuiButtonFlags_AllowItemOverlap: ImGuiButtonFlagsPrivate_ = 4096; +pub const ImGuiButtonFlags_DontClosePopups: ImGuiButtonFlagsPrivate_ = 8192; +pub const ImGuiButtonFlags_Disabled: ImGuiButtonFlagsPrivate_ = 16384; +pub const ImGuiButtonFlags_AlignTextBaseLine: ImGuiButtonFlagsPrivate_ = 32768; +pub const ImGuiButtonFlags_NoKeyModifiers: ImGuiButtonFlagsPrivate_ = 65536; +pub const ImGuiButtonFlags_NoHoldingActiveId: ImGuiButtonFlagsPrivate_ = 131072; +pub const ImGuiButtonFlags_NoNavFocus: ImGuiButtonFlagsPrivate_ = 262144; +pub const ImGuiButtonFlags_NoHoveredOnFocus: ImGuiButtonFlagsPrivate_ = 524288; +pub const ImGuiButtonFlags_PressedOnMask_: ImGuiButtonFlagsPrivate_ = 1008; +pub const ImGuiButtonFlags_PressedOnDefault_: ImGuiButtonFlagsPrivate_ = 32; +pub type ImGuiButtonFlagsPrivate_ = cty::c_uint; +pub const ImGuiSliderFlags_Vertical: ImGuiSliderFlagsPrivate_ = 1048576; +pub const ImGuiSliderFlags_ReadOnly: ImGuiSliderFlagsPrivate_ = 2097152; +pub type ImGuiSliderFlagsPrivate_ = cty::c_uint; +pub const ImGuiSelectableFlags_NoHoldingActiveID: ImGuiSelectableFlagsPrivate_ = 1048576; +pub const ImGuiSelectableFlags_SelectOnClick: ImGuiSelectableFlagsPrivate_ = 2097152; +pub const ImGuiSelectableFlags_SelectOnRelease: ImGuiSelectableFlagsPrivate_ = 4194304; +pub const ImGuiSelectableFlags_SpanAvailWidth: ImGuiSelectableFlagsPrivate_ = 8388608; +pub const ImGuiSelectableFlags_DrawHoveredWhenHeld: ImGuiSelectableFlagsPrivate_ = 16777216; +pub const ImGuiSelectableFlags_SetNavIdOnHover: ImGuiSelectableFlagsPrivate_ = 33554432; +pub const ImGuiSelectableFlags_NoPadWithHalfSpacing: ImGuiSelectableFlagsPrivate_ = 67108864; +pub type ImGuiSelectableFlagsPrivate_ = cty::c_uint; +pub const ImGuiTreeNodeFlags_ClipLabelForTrailingButton: ImGuiTreeNodeFlagsPrivate_ = 1048576; +pub type ImGuiTreeNodeFlagsPrivate_ = cty::c_uint; +pub const ImGuiSeparatorFlags_None: ImGuiSeparatorFlags_ = 0; +pub const ImGuiSeparatorFlags_Horizontal: ImGuiSeparatorFlags_ = 1; +pub const ImGuiSeparatorFlags_Vertical: ImGuiSeparatorFlags_ = 2; +pub const ImGuiSeparatorFlags_SpanAllColumns: ImGuiSeparatorFlags_ = 4; +pub type ImGuiSeparatorFlags_ = cty::c_uint; +pub const ImGuiTextFlags_None: ImGuiTextFlags_ = 0; +pub const ImGuiTextFlags_NoWidthForLargeClippedText: ImGuiTextFlags_ = 1; +pub type ImGuiTextFlags_ = cty::c_uint; +pub const ImGuiTooltipFlags_None: ImGuiTooltipFlags_ = 0; +pub const ImGuiTooltipFlags_OverridePreviousTooltip: ImGuiTooltipFlags_ = 1; +pub type ImGuiTooltipFlags_ = cty::c_uint; +pub const ImGuiLayoutType_Horizontal: ImGuiLayoutType_ = 0; +pub const ImGuiLayoutType_Vertical: ImGuiLayoutType_ = 1; +pub type ImGuiLayoutType_ = cty::c_uint; +pub const ImGuiLogType_None: ImGuiLogType = 0; +pub const ImGuiLogType_TTY: ImGuiLogType = 1; +pub const ImGuiLogType_File: ImGuiLogType = 2; +pub const ImGuiLogType_Buffer: ImGuiLogType = 3; +pub const ImGuiLogType_Clipboard: ImGuiLogType = 4; +pub type ImGuiLogType = cty::c_uint; +pub const ImGuiAxis_None: ImGuiAxis = -1; +pub const ImGuiAxis_X: ImGuiAxis = 0; +pub const ImGuiAxis_Y: ImGuiAxis = 1; +pub type ImGuiAxis = cty::c_int; +pub const ImGuiPlotType_Lines: ImGuiPlotType = 0; +pub const ImGuiPlotType_Histogram: ImGuiPlotType = 1; +pub type ImGuiPlotType = cty::c_uint; +pub const ImGuiInputSource_None: ImGuiInputSource = 0; +pub const ImGuiInputSource_Mouse: ImGuiInputSource = 1; +pub const ImGuiInputSource_Nav: ImGuiInputSource = 2; +pub const ImGuiInputSource_NavKeyboard: ImGuiInputSource = 3; +pub const ImGuiInputSource_NavGamepad: ImGuiInputSource = 4; +pub const ImGuiInputSource_COUNT: ImGuiInputSource = 5; +pub type ImGuiInputSource = cty::c_uint; +pub const ImGuiInputReadMode_Down: ImGuiInputReadMode = 0; +pub const ImGuiInputReadMode_Pressed: ImGuiInputReadMode = 1; +pub const ImGuiInputReadMode_Released: ImGuiInputReadMode = 2; +pub const ImGuiInputReadMode_Repeat: ImGuiInputReadMode = 3; +pub const ImGuiInputReadMode_RepeatSlow: ImGuiInputReadMode = 4; +pub const ImGuiInputReadMode_RepeatFast: ImGuiInputReadMode = 5; +pub type ImGuiInputReadMode = cty::c_uint; +pub const ImGuiNavHighlightFlags_None: ImGuiNavHighlightFlags_ = 0; +pub const ImGuiNavHighlightFlags_TypeDefault: ImGuiNavHighlightFlags_ = 1; +pub const ImGuiNavHighlightFlags_TypeThin: ImGuiNavHighlightFlags_ = 2; +pub const ImGuiNavHighlightFlags_AlwaysDraw: ImGuiNavHighlightFlags_ = 4; +pub const ImGuiNavHighlightFlags_NoRounding: ImGuiNavHighlightFlags_ = 8; +pub type ImGuiNavHighlightFlags_ = cty::c_uint; +pub const ImGuiNavDirSourceFlags_None: ImGuiNavDirSourceFlags_ = 0; +pub const ImGuiNavDirSourceFlags_Keyboard: ImGuiNavDirSourceFlags_ = 1; +pub const ImGuiNavDirSourceFlags_PadDPad: ImGuiNavDirSourceFlags_ = 2; +pub const ImGuiNavDirSourceFlags_PadLStick: ImGuiNavDirSourceFlags_ = 4; +pub type ImGuiNavDirSourceFlags_ = cty::c_uint; +pub const ImGuiNavMoveFlags_None: ImGuiNavMoveFlags_ = 0; +pub const ImGuiNavMoveFlags_LoopX: ImGuiNavMoveFlags_ = 1; +pub const ImGuiNavMoveFlags_LoopY: ImGuiNavMoveFlags_ = 2; +pub const ImGuiNavMoveFlags_WrapX: ImGuiNavMoveFlags_ = 4; +pub const ImGuiNavMoveFlags_WrapY: ImGuiNavMoveFlags_ = 8; +pub const ImGuiNavMoveFlags_AllowCurrentNavId: ImGuiNavMoveFlags_ = 16; +pub const ImGuiNavMoveFlags_AlsoScoreVisibleSet: ImGuiNavMoveFlags_ = 32; +pub const ImGuiNavMoveFlags_ScrollToEdge: ImGuiNavMoveFlags_ = 64; +pub type ImGuiNavMoveFlags_ = cty::c_uint; +pub const ImGuiNavForward_None: ImGuiNavForward = 0; +pub const ImGuiNavForward_ForwardQueued: ImGuiNavForward = 1; +pub const ImGuiNavForward_ForwardActive: ImGuiNavForward = 2; +pub type ImGuiNavForward = cty::c_uint; +pub const ImGuiNavLayer_Main: ImGuiNavLayer = 0; +pub const ImGuiNavLayer_Menu: ImGuiNavLayer = 1; +pub const ImGuiNavLayer_COUNT: ImGuiNavLayer = 2; +pub type ImGuiNavLayer = cty::c_uint; +pub const ImGuiPopupPositionPolicy_Default: ImGuiPopupPositionPolicy = 0; +pub const ImGuiPopupPositionPolicy_ComboBox: ImGuiPopupPositionPolicy = 1; +pub const ImGuiPopupPositionPolicy_Tooltip: ImGuiPopupPositionPolicy = 2; +pub type ImGuiPopupPositionPolicy = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiDataTypeTempStorage { + pub Data: [ImU8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiDataTypeInfo { + pub Size: usize, + pub Name: *const cty::c_char, + pub PrintFmt: *const cty::c_char, + pub ScanFmt: *const cty::c_char, +} +impl Default for ImGuiDataTypeInfo { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiDataType_String: ImGuiDataTypePrivate_ = 11; +pub const ImGuiDataType_Pointer: ImGuiDataTypePrivate_ = 12; +pub const ImGuiDataType_ID: ImGuiDataTypePrivate_ = 13; +pub type ImGuiDataTypePrivate_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiColorMod { + pub Col: ImGuiCol, + pub BackupValue: ImVec4, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImGuiStyleMod { + pub VarIdx: ImGuiStyleVar, + pub __bindgen_anon_1: ImGuiStyleMod__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ImGuiStyleMod__bindgen_ty_1 { + pub BackupInt: [cty::c_int; 2usize], + pub BackupFloat: [f32; 2usize], + _bindgen_union_align: [u32; 2usize], +} +impl Default for ImGuiStyleMod__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiStyleMod__bindgen_ty_1 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write!(f, "ImGuiStyleMod__bindgen_ty_1 {{ union }}") + } +} +impl Default for ImGuiStyleMod { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiStyleMod { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write!( + f, + "ImGuiStyleMod {{ VarIdx: {:?}, __bindgen_anon_1: {:?} }}", + self.VarIdx, self.__bindgen_anon_1 + ) + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiGroupData { + pub WindowID: ImGuiID, + pub BackupCursorPos: ImVec2, + pub BackupCursorMaxPos: ImVec2, + pub BackupIndent: ImVec1, + pub BackupGroupOffset: ImVec1, + pub BackupCurrLineSize: ImVec2, + pub BackupCurrLineTextBaseOffset: f32, + pub BackupActiveIdIsAlive: ImGuiID, + pub BackupActiveIdPreviousFrameIsAlive: bool, + pub EmitItem: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiMenuColumns { + pub Spacing: f32, + pub Width: f32, + pub NextWidth: f32, + pub Pos: [f32; 3usize], + pub NextWidths: [f32; 3usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImGuiInputTextState { + pub ID: ImGuiID, + pub CurLenW: cty::c_int, + pub CurLenA: cty::c_int, + pub TextW: ImVector_ImWchar, + pub TextA: ImVector_char, + pub InitialTextA: ImVector_char, + pub TextAIsValid: bool, + pub BufCapacityA: cty::c_int, + pub ScrollX: f32, + pub Stb: STB_TexteditState, + pub CursorAnim: f32, + pub CursorFollow: bool, + pub SelectedAllMouseLock: bool, + pub Edited: bool, + pub UserFlags: ImGuiInputTextFlags, + pub UserCallback: ImGuiInputTextCallback, + pub UserCallbackData: *mut cty::c_void, +} +impl Default for ImGuiInputTextState { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiInputTextState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "ImGuiInputTextState {{ ID: {:?}, CurLenW: {:?}, CurLenA: {:?}, TextW: {:?}, TextA: {:?}, InitialTextA: {:?}, TextAIsValid: {:?}, BufCapacityA: {:?}, ScrollX: {:?}, Stb: {:?}, CursorAnim: {:?}, CursorFollow: {:?}, SelectedAllMouseLock: {:?}, Edited: {:?}, UserFlags: {:?}, UserCallback: {:?}, UserCallbackData: {:?} }}" , self . ID , self . CurLenW , self . CurLenA , self . TextW , self . TextA , self . InitialTextA , self . TextAIsValid , self . BufCapacityA , self . ScrollX , self . Stb , self . CursorAnim , self . CursorFollow , self . SelectedAllMouseLock , self . Edited , self . UserFlags , self . UserCallback , self . UserCallbackData) + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiPopupData { + pub PopupId: ImGuiID, + pub Window: *mut ImGuiWindow, + pub SourceWindow: *mut ImGuiWindow, + pub OpenFrameCount: cty::c_int, + pub OpenParentId: ImGuiID, + pub OpenPopupPos: ImVec2, + pub OpenMousePos: ImVec2, +} +impl Default for ImGuiPopupData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiNavMoveResult { + pub Window: *mut ImGuiWindow, + pub ID: ImGuiID, + pub FocusScopeId: ImGuiID, + pub DistBox: f32, + pub DistCenter: f32, + pub DistAxial: f32, + pub RectRel: ImRect, +} +impl Default for ImGuiNavMoveResult { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiNextWindowDataFlags_None: ImGuiNextWindowDataFlags_ = 0; +pub const ImGuiNextWindowDataFlags_HasPos: ImGuiNextWindowDataFlags_ = 1; +pub const ImGuiNextWindowDataFlags_HasSize: ImGuiNextWindowDataFlags_ = 2; +pub const ImGuiNextWindowDataFlags_HasContentSize: ImGuiNextWindowDataFlags_ = 4; +pub const ImGuiNextWindowDataFlags_HasCollapsed: ImGuiNextWindowDataFlags_ = 8; +pub const ImGuiNextWindowDataFlags_HasSizeConstraint: ImGuiNextWindowDataFlags_ = 16; +pub const ImGuiNextWindowDataFlags_HasFocus: ImGuiNextWindowDataFlags_ = 32; +pub const ImGuiNextWindowDataFlags_HasBgAlpha: ImGuiNextWindowDataFlags_ = 64; +pub const ImGuiNextWindowDataFlags_HasScroll: ImGuiNextWindowDataFlags_ = 128; +pub type ImGuiNextWindowDataFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiNextWindowData { + pub Flags: ImGuiNextWindowDataFlags, + pub PosCond: ImGuiCond, + pub SizeCond: ImGuiCond, + pub CollapsedCond: ImGuiCond, + pub PosVal: ImVec2, + pub PosPivotVal: ImVec2, + pub SizeVal: ImVec2, + pub ContentSizeVal: ImVec2, + pub ScrollVal: ImVec2, + pub CollapsedVal: bool, + pub SizeConstraintRect: ImRect, + pub SizeCallback: ImGuiSizeCallback, + pub SizeCallbackUserData: *mut cty::c_void, + pub BgAlphaVal: f32, + pub MenuBarOffsetMinVal: ImVec2, +} +impl Default for ImGuiNextWindowData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiNextItemDataFlags_None: ImGuiNextItemDataFlags_ = 0; +pub const ImGuiNextItemDataFlags_HasWidth: ImGuiNextItemDataFlags_ = 1; +pub const ImGuiNextItemDataFlags_HasOpen: ImGuiNextItemDataFlags_ = 2; +pub type ImGuiNextItemDataFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiNextItemData { + pub Flags: ImGuiNextItemDataFlags, + pub Width: f32, + pub FocusScopeId: ImGuiID, + pub OpenCond: ImGuiCond, + pub OpenVal: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiShrinkWidthItem { + pub Index: cty::c_int, + pub Width: f32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiPtrOrIndex { + pub Ptr: *mut cty::c_void, + pub Index: cty::c_int, +} +impl Default for ImGuiPtrOrIndex { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiOldColumnFlags_None: ImGuiOldColumnFlags_ = 0; +pub const ImGuiOldColumnFlags_NoBorder: ImGuiOldColumnFlags_ = 1; +pub const ImGuiOldColumnFlags_NoResize: ImGuiOldColumnFlags_ = 2; +pub const ImGuiOldColumnFlags_NoPreserveWidths: ImGuiOldColumnFlags_ = 4; +pub const ImGuiOldColumnFlags_NoForceWithinWindow: ImGuiOldColumnFlags_ = 8; +pub const ImGuiOldColumnFlags_GrowParentContentsSize: ImGuiOldColumnFlags_ = 16; +pub type ImGuiOldColumnFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiOldColumnData { + pub OffsetNorm: f32, + pub OffsetNormBeforeResize: f32, + pub Flags: ImGuiOldColumnFlags, + pub ClipRect: ImRect, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiOldColumns { + pub ID: ImGuiID, + pub Flags: ImGuiOldColumnFlags, + pub IsFirstFrame: bool, + pub IsBeingResized: bool, + pub Current: cty::c_int, + pub Count: cty::c_int, + pub OffMinX: f32, + pub OffMaxX: f32, + pub LineMinY: f32, + pub LineMaxY: f32, + pub HostCursorPosY: f32, + pub HostCursorMaxPosX: f32, + pub HostInitialClipRect: ImRect, + pub HostBackupClipRect: ImRect, + pub HostBackupParentWorkRect: ImRect, + pub Columns: ImVector_ImGuiOldColumnData, + pub Splitter: ImDrawListSplitter, +} +impl Default for ImGuiOldColumns { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiViewportP { + pub _ImGuiViewport: ImGuiViewport, + pub DrawListsLastFrame: [cty::c_int; 2usize], + pub DrawLists: [*mut ImDrawList; 2usize], + pub DrawDataP: ImDrawData, + pub DrawDataBuilder: ImDrawDataBuilder, + pub WorkOffsetMin: ImVec2, + pub WorkOffsetMax: ImVec2, + pub CurrWorkOffsetMin: ImVec2, + pub CurrWorkOffsetMax: ImVec2, +} +impl Default for ImGuiViewportP { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiWindowSettings { + pub ID: ImGuiID, + pub Pos: ImVec2ih, + pub Size: ImVec2ih, + pub Collapsed: bool, + pub WantApply: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiSettingsHandler { + pub TypeName: *const cty::c_char, + pub TypeHash: ImGuiID, + pub ClearAllFn: ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, handler: *mut ImGuiSettingsHandler), + >, + pub ReadInitFn: ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, handler: *mut ImGuiSettingsHandler), + >, + pub ReadOpenFn: ::core::option::Option< + unsafe extern "C" fn( + ctx: *mut ImGuiContext, + handler: *mut ImGuiSettingsHandler, + name: *const cty::c_char, + ) -> *mut cty::c_void, + >, + pub ReadLineFn: ::core::option::Option< + unsafe extern "C" fn( + ctx: *mut ImGuiContext, + handler: *mut ImGuiSettingsHandler, + entry: *mut cty::c_void, + line: *const cty::c_char, + ), + >, + pub ApplyAllFn: ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, handler: *mut ImGuiSettingsHandler), + >, + pub WriteAllFn: ::core::option::Option< + unsafe extern "C" fn( + ctx: *mut ImGuiContext, + handler: *mut ImGuiSettingsHandler, + out_buf: *mut ImGuiTextBuffer, + ), + >, + pub UserData: *mut cty::c_void, +} +impl Default for ImGuiSettingsHandler { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiMetricsConfig { + pub ShowWindowsRects: bool, + pub ShowWindowsBeginOrder: bool, + pub ShowTablesRects: bool, + pub ShowDrawCmdMesh: bool, + pub ShowDrawCmdBoundingBoxes: bool, + pub ShowWindowsRectsType: cty::c_int, + pub ShowTablesRectsType: cty::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiStackSizes { + pub SizeOfIDStack: cty::c_short, + pub SizeOfColorStack: cty::c_short, + pub SizeOfStyleVarStack: cty::c_short, + pub SizeOfFontStack: cty::c_short, + pub SizeOfFocusScopeStack: cty::c_short, + pub SizeOfGroupStack: cty::c_short, + pub SizeOfBeginPopupStack: cty::c_short, +} +pub const ImGuiContextHookType_NewFramePre: ImGuiContextHookType = 0; +pub const ImGuiContextHookType_NewFramePost: ImGuiContextHookType = 1; +pub const ImGuiContextHookType_EndFramePre: ImGuiContextHookType = 2; +pub const ImGuiContextHookType_EndFramePost: ImGuiContextHookType = 3; +pub const ImGuiContextHookType_RenderPre: ImGuiContextHookType = 4; +pub const ImGuiContextHookType_RenderPost: ImGuiContextHookType = 5; +pub const ImGuiContextHookType_Shutdown: ImGuiContextHookType = 6; +pub const ImGuiContextHookType_PendingRemoval_: ImGuiContextHookType = 7; +pub type ImGuiContextHookType = cty::c_uint; +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiContextHook { + pub HookId: ImGuiID, + pub Type: ImGuiContextHookType, + pub Owner: ImGuiID, + pub Callback: ImGuiContextHookCallback, + pub UserData: *mut cty::c_void, +} +impl Default for ImGuiContextHook { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImGuiContext { + pub Initialized: bool, + pub FontAtlasOwnedByContext: bool, + pub IO: ImGuiIO, + pub Style: ImGuiStyle, + pub Font: *mut ImFont, + pub FontSize: f32, + pub FontBaseSize: f32, + pub DrawListSharedData: ImDrawListSharedData, + pub Time: f64, + pub FrameCount: cty::c_int, + pub FrameCountEnded: cty::c_int, + pub FrameCountRendered: cty::c_int, + pub WithinFrameScope: bool, + pub WithinFrameScopeWithImplicitWindow: bool, + pub WithinEndChild: bool, + pub GcCompactAll: bool, + pub TestEngineHookItems: bool, + pub TestEngineHookIdInfo: ImGuiID, + pub TestEngine: *mut cty::c_void, + pub Windows: ImVector_ImGuiWindowPtr, + pub WindowsFocusOrder: ImVector_ImGuiWindowPtr, + pub WindowsTempSortBuffer: ImVector_ImGuiWindowPtr, + pub CurrentWindowStack: ImVector_ImGuiWindowPtr, + pub WindowsById: ImGuiStorage, + pub WindowsActiveCount: cty::c_int, + pub CurrentWindow: *mut ImGuiWindow, + pub HoveredWindow: *mut ImGuiWindow, + pub HoveredRootWindow: *mut ImGuiWindow, + pub HoveredWindowUnderMovingWindow: *mut ImGuiWindow, + pub MovingWindow: *mut ImGuiWindow, + pub WheelingWindow: *mut ImGuiWindow, + pub WheelingWindowRefMousePos: ImVec2, + pub WheelingWindowTimer: f32, + pub HoveredId: ImGuiID, + pub HoveredIdPreviousFrame: ImGuiID, + pub HoveredIdAllowOverlap: bool, + pub HoveredIdUsingMouseWheel: bool, + pub HoveredIdPreviousFrameUsingMouseWheel: bool, + pub HoveredIdDisabled: bool, + pub HoveredIdTimer: f32, + pub HoveredIdNotActiveTimer: f32, + pub ActiveId: ImGuiID, + pub ActiveIdIsAlive: ImGuiID, + pub ActiveIdTimer: f32, + pub ActiveIdIsJustActivated: bool, + pub ActiveIdAllowOverlap: bool, + pub ActiveIdNoClearOnFocusLoss: bool, + pub ActiveIdHasBeenPressedBefore: bool, + pub ActiveIdHasBeenEditedBefore: bool, + pub ActiveIdHasBeenEditedThisFrame: bool, + pub ActiveIdUsingMouseWheel: bool, + pub ActiveIdUsingNavDirMask: ImU32, + pub ActiveIdUsingNavInputMask: ImU32, + pub ActiveIdUsingKeyInputMask: ImU64, + pub ActiveIdClickOffset: ImVec2, + pub ActiveIdWindow: *mut ImGuiWindow, + pub ActiveIdSource: ImGuiInputSource, + pub ActiveIdMouseButton: cty::c_int, + pub ActiveIdPreviousFrame: ImGuiID, + pub ActiveIdPreviousFrameIsAlive: bool, + pub ActiveIdPreviousFrameHasBeenEditedBefore: bool, + pub ActiveIdPreviousFrameWindow: *mut ImGuiWindow, + pub LastActiveId: ImGuiID, + pub LastActiveIdTimer: f32, + pub NextWindowData: ImGuiNextWindowData, + pub NextItemData: ImGuiNextItemData, + pub ColorStack: ImVector_ImGuiColorMod, + pub StyleVarStack: ImVector_ImGuiStyleMod, + pub FontStack: ImVector_ImFontPtr, + pub FocusScopeStack: ImVector_ImGuiID, + pub ItemFlagsStack: ImVector_ImGuiItemFlags, + pub GroupStack: ImVector_ImGuiGroupData, + pub OpenPopupStack: ImVector_ImGuiPopupData, + pub BeginPopupStack: ImVector_ImGuiPopupData, + pub Viewports: ImVector_ImGuiViewportPPtr, + pub NavWindow: *mut ImGuiWindow, + pub NavId: ImGuiID, + pub NavFocusScopeId: ImGuiID, + pub NavActivateId: ImGuiID, + pub NavActivateDownId: ImGuiID, + pub NavActivatePressedId: ImGuiID, + pub NavInputId: ImGuiID, + pub NavJustTabbedId: ImGuiID, + pub NavJustMovedToId: ImGuiID, + pub NavJustMovedToFocusScopeId: ImGuiID, + pub NavJustMovedToKeyMods: ImGuiKeyModFlags, + pub NavNextActivateId: ImGuiID, + pub NavInputSource: ImGuiInputSource, + pub NavScoringRect: ImRect, + pub NavScoringCount: cty::c_int, + pub NavLayer: ImGuiNavLayer, + pub NavIdTabCounter: cty::c_int, + pub NavIdIsAlive: bool, + pub NavMousePosDirty: bool, + pub NavDisableHighlight: bool, + pub NavDisableMouseHover: bool, + pub NavAnyRequest: bool, + pub NavInitRequest: bool, + pub NavInitRequestFromMove: bool, + pub NavInitResultId: ImGuiID, + pub NavInitResultRectRel: ImRect, + pub NavMoveRequest: bool, + pub NavMoveRequestFlags: ImGuiNavMoveFlags, + pub NavMoveRequestForward: ImGuiNavForward, + pub NavMoveRequestKeyMods: ImGuiKeyModFlags, + pub NavMoveDir: ImGuiDir, + pub NavMoveDirLast: ImGuiDir, + pub NavMoveClipDir: ImGuiDir, + pub NavMoveResultLocal: ImGuiNavMoveResult, + pub NavMoveResultLocalVisibleSet: ImGuiNavMoveResult, + pub NavMoveResultOther: ImGuiNavMoveResult, + pub NavWrapRequestWindow: *mut ImGuiWindow, + pub NavWrapRequestFlags: ImGuiNavMoveFlags, + pub NavWindowingTarget: *mut ImGuiWindow, + pub NavWindowingTargetAnim: *mut ImGuiWindow, + pub NavWindowingListWindow: *mut ImGuiWindow, + pub NavWindowingTimer: f32, + pub NavWindowingHighlightAlpha: f32, + pub NavWindowingToggleLayer: bool, + pub FocusRequestCurrWindow: *mut ImGuiWindow, + pub FocusRequestNextWindow: *mut ImGuiWindow, + pub FocusRequestCurrCounterRegular: cty::c_int, + pub FocusRequestCurrCounterTabStop: cty::c_int, + pub FocusRequestNextCounterRegular: cty::c_int, + pub FocusRequestNextCounterTabStop: cty::c_int, + pub FocusTabPressed: bool, + pub DimBgRatio: f32, + pub MouseCursor: ImGuiMouseCursor, + pub DragDropActive: bool, + pub DragDropWithinSource: bool, + pub DragDropWithinTarget: bool, + pub DragDropSourceFlags: ImGuiDragDropFlags, + pub DragDropSourceFrameCount: cty::c_int, + pub DragDropMouseButton: cty::c_int, + pub DragDropPayload: ImGuiPayload, + pub DragDropTargetRect: ImRect, + pub DragDropTargetId: ImGuiID, + pub DragDropAcceptFlags: ImGuiDragDropFlags, + pub DragDropAcceptIdCurrRectSurface: f32, + pub DragDropAcceptIdCurr: ImGuiID, + pub DragDropAcceptIdPrev: ImGuiID, + pub DragDropAcceptFrameCount: cty::c_int, + pub DragDropHoldJustPressedId: ImGuiID, + pub DragDropPayloadBufHeap: ImVector_unsigned_char, + pub DragDropPayloadBufLocal: [cty::c_uchar; 16usize], + pub CurrentTable: *mut ImGuiTable, + pub Tables: ImPool_ImGuiTable, + pub CurrentTableStack: ImVector_ImGuiPtrOrIndex, + pub TablesLastTimeActive: ImVector_float, + pub DrawChannelsTempMergeBuffer: ImVector_ImDrawChannel, + pub CurrentTabBar: *mut ImGuiTabBar, + pub TabBars: ImPool_ImGuiTabBar, + pub CurrentTabBarStack: ImVector_ImGuiPtrOrIndex, + pub ShrinkWidthBuffer: ImVector_ImGuiShrinkWidthItem, + pub LastValidMousePos: ImVec2, + pub InputTextState: ImGuiInputTextState, + pub InputTextPasswordFont: ImFont, + pub TempInputId: ImGuiID, + pub ColorEditOptions: ImGuiColorEditFlags, + pub ColorEditLastHue: f32, + pub ColorEditLastSat: f32, + pub ColorEditLastColor: [f32; 3usize], + pub ColorPickerRef: ImVec4, + pub SliderCurrentAccum: f32, + pub SliderCurrentAccumDirty: bool, + pub DragCurrentAccumDirty: bool, + pub DragCurrentAccum: f32, + pub DragSpeedDefaultRatio: f32, + pub ScrollbarClickDeltaToGrabCenter: f32, + pub TooltipOverrideCount: cty::c_int, + pub TooltipSlowDelay: f32, + pub ClipboardHandlerData: ImVector_char, + pub MenusIdSubmittedThisFrame: ImVector_ImGuiID, + pub PlatformImePos: ImVec2, + pub PlatformImeLastPos: ImVec2, + pub PlatformLocaleDecimalPoint: cty::c_char, + pub SettingsLoaded: bool, + pub SettingsDirtyTimer: f32, + pub SettingsIniData: ImGuiTextBuffer, + pub SettingsHandlers: ImVector_ImGuiSettingsHandler, + pub SettingsWindows: ImChunkStream_ImGuiWindowSettings, + pub SettingsTables: ImChunkStream_ImGuiTableSettings, + pub Hooks: ImVector_ImGuiContextHook, + pub HookIdNext: ImGuiID, + pub LogEnabled: bool, + pub LogType: ImGuiLogType, + pub LogFile: ImFileHandle, + pub LogBuffer: ImGuiTextBuffer, + pub LogNextPrefix: *const cty::c_char, + pub LogNextSuffix: *const cty::c_char, + pub LogLinePosY: f32, + pub LogLineFirstItem: bool, + pub LogDepthRef: cty::c_int, + pub LogDepthToExpand: cty::c_int, + pub LogDepthToExpandDefault: cty::c_int, + pub DebugItemPickerActive: bool, + pub DebugItemPickerBreakId: ImGuiID, + pub DebugMetricsConfig: ImGuiMetricsConfig, + pub FramerateSecPerFrame: [f32; 120usize], + pub FramerateSecPerFrameIdx: cty::c_int, + pub FramerateSecPerFrameAccum: f32, + pub WantCaptureMouseNextFrame: cty::c_int, + pub WantCaptureKeyboardNextFrame: cty::c_int, + pub WantTextInputNextFrame: cty::c_int, + pub TempBuffer: [cty::c_char; 3073usize], +} +impl Default for ImGuiContext { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiContext { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "ImGuiContext {{ Initialized: {:?}, FontAtlasOwnedByContext: {:?}, IO: {:?}, Style: {:?}, Font: {:?}, FontSize: {:?}, FontBaseSize: {:?}, DrawListSharedData: {:?}, Time: {:?}, FrameCount: {:?}, FrameCountEnded: {:?}, FrameCountRendered: {:?}, WithinFrameScope: {:?}, WithinFrameScopeWithImplicitWindow: {:?}, WithinEndChild: {:?}, GcCompactAll: {:?}, TestEngineHookItems: {:?}, TestEngineHookIdInfo: {:?}, TestEngine: {:?}, Windows: {:?}, WindowsFocusOrder: {:?}, WindowsTempSortBuffer: {:?}, CurrentWindowStack: {:?}, WindowsById: {:?}, WindowsActiveCount: {:?}, CurrentWindow: {:?}, HoveredWindow: {:?}, HoveredRootWindow: {:?}, HoveredWindowUnderMovingWindow: {:?}, MovingWindow: {:?}, WheelingWindow: {:?}, WheelingWindowRefMousePos: {:?}, WheelingWindowTimer: {:?}, HoveredId: {:?}, HoveredIdPreviousFrame: {:?}, HoveredIdAllowOverlap: {:?}, HoveredIdUsingMouseWheel: {:?}, HoveredIdPreviousFrameUsingMouseWheel: {:?}, HoveredIdDisabled: {:?}, HoveredIdTimer: {:?}, HoveredIdNotActiveTimer: {:?}, ActiveId: {:?}, ActiveIdIsAlive: {:?}, ActiveIdTimer: {:?}, ActiveIdIsJustActivated: {:?}, ActiveIdAllowOverlap: {:?}, ActiveIdNoClearOnFocusLoss: {:?}, ActiveIdHasBeenPressedBefore: {:?}, ActiveIdHasBeenEditedBefore: {:?}, ActiveIdHasBeenEditedThisFrame: {:?}, ActiveIdUsingMouseWheel: {:?}, ActiveIdUsingNavDirMask: {:?}, ActiveIdUsingNavInputMask: {:?}, ActiveIdUsingKeyInputMask: {:?}, ActiveIdClickOffset: {:?}, ActiveIdWindow: {:?}, ActiveIdSource: {:?}, ActiveIdMouseButton: {:?}, ActiveIdPreviousFrame: {:?}, ActiveIdPreviousFrameIsAlive: {:?}, ActiveIdPreviousFrameHasBeenEditedBefore: {:?}, ActiveIdPreviousFrameWindow: {:?}, LastActiveId: {:?}, LastActiveIdTimer: {:?}, NextWindowData: {:?}, NextItemData: {:?}, ColorStack: {:?}, StyleVarStack: {:?}, FontStack: {:?}, FocusScopeStack: {:?}, ItemFlagsStack: {:?}, GroupStack: {:?}, OpenPopupStack: {:?}, BeginPopupStack: {:?}, Viewports: {:?}, NavWindow: {:?}, NavId: {:?}, NavFocusScopeId: {:?}, NavActivateId: {:?}, NavActivateDownId: {:?}, NavActivatePressedId: {:?}, NavInputId: {:?}, NavJustTabbedId: {:?}, NavJustMovedToId: {:?}, NavJustMovedToFocusScopeId: {:?}, NavJustMovedToKeyMods: {:?}, NavNextActivateId: {:?}, NavInputSource: {:?}, NavScoringRect: {:?}, NavScoringCount: {:?}, NavLayer: {:?}, NavIdTabCounter: {:?}, NavIdIsAlive: {:?}, NavMousePosDirty: {:?}, NavDisableHighlight: {:?}, NavDisableMouseHover: {:?}, NavAnyRequest: {:?}, NavInitRequest: {:?}, NavInitRequestFromMove: {:?}, NavInitResultId: {:?}, NavInitResultRectRel: {:?}, NavMoveRequest: {:?}, NavMoveRequestFlags: {:?}, NavMoveRequestForward: {:?}, NavMoveRequestKeyMods: {:?}, NavMoveDir: {:?}, NavMoveDirLast: {:?}, NavMoveClipDir: {:?}, NavMoveResultLocal: {:?}, NavMoveResultLocalVisibleSet: {:?}, NavMoveResultOther: {:?}, NavWrapRequestWindow: {:?}, NavWrapRequestFlags: {:?}, NavWindowingTarget: {:?}, NavWindowingTargetAnim: {:?}, NavWindowingListWindow: {:?}, NavWindowingTimer: {:?}, NavWindowingHighlightAlpha: {:?}, NavWindowingToggleLayer: {:?}, FocusRequestCurrWindow: {:?}, FocusRequestNextWindow: {:?}, FocusRequestCurrCounterRegular: {:?}, FocusRequestCurrCounterTabStop: {:?}, FocusRequestNextCounterRegular: {:?}, FocusRequestNextCounterTabStop: {:?}, FocusTabPressed: {:?}, DimBgRatio: {:?}, MouseCursor: {:?}, DragDropActive: {:?}, DragDropWithinSource: {:?}, DragDropWithinTarget: {:?}, DragDropSourceFlags: {:?}, DragDropSourceFrameCount: {:?}, DragDropMouseButton: {:?}, DragDropPayload: {:?}, DragDropTargetRect: {:?}, DragDropTargetId: {:?}, DragDropAcceptFlags: {:?}, DragDropAcceptIdCurrRectSurface: {:?}, DragDropAcceptIdCurr: {:?}, DragDropAcceptIdPrev: {:?}, DragDropAcceptFrameCount: {:?}, DragDropHoldJustPressedId: {:?}, DragDropPayloadBufHeap: {:?}, DragDropPayloadBufLocal: {:?}, CurrentTable: {:?}, Tables: {:?}, CurrentTableStack: {:?}, TablesLastTimeActive: {:?}, DrawChannelsTempMergeBuffer: {:?}, CurrentTabBar: {:?}, TabBars: {:?}, CurrentTabBarStack: {:?}, ShrinkWidthBuffer: {:?}, LastValidMousePos: {:?}, InputTextState: {:?}, InputTextPasswordFont: {:?}, TempInputId: {:?}, ColorEditOptions: {:?}, ColorEditLastHue: {:?}, ColorEditLastSat: {:?}, ColorEditLastColor: {:?}, ColorPickerRef: {:?}, SliderCurrentAccum: {:?}, SliderCurrentAccumDirty: {:?}, DragCurrentAccumDirty: {:?}, DragCurrentAccum: {:?}, DragSpeedDefaultRatio: {:?}, ScrollbarClickDeltaToGrabCenter: {:?}, TooltipOverrideCount: {:?}, TooltipSlowDelay: {:?}, ClipboardHandlerData: {:?}, MenusIdSubmittedThisFrame: {:?}, PlatformImePos: {:?}, PlatformImeLastPos: {:?}, PlatformLocaleDecimalPoint: {:?}, SettingsLoaded: {:?}, SettingsDirtyTimer: {:?}, SettingsIniData: {:?}, SettingsHandlers: {:?}, SettingsWindows: {:?}, SettingsTables: {:?}, Hooks: {:?}, HookIdNext: {:?}, LogEnabled: {:?}, LogType: {:?}, LogFile: {:?}, LogBuffer: {:?}, LogNextPrefix: {:?}, LogNextSuffix: {:?}, LogLinePosY: {:?}, LogLineFirstItem: {:?}, LogDepthRef: {:?}, LogDepthToExpand: {:?}, LogDepthToExpandDefault: {:?}, DebugItemPickerActive: {:?}, DebugItemPickerBreakId: {:?}, DebugMetricsConfig: {:?}, FramerateSecPerFrame: [...], FramerateSecPerFrameIdx: {:?}, FramerateSecPerFrameAccum: {:?}, WantCaptureMouseNextFrame: {:?}, WantCaptureKeyboardNextFrame: {:?}, WantTextInputNextFrame: {:?}, TempBuffer: [...] }}" , self . Initialized , self . FontAtlasOwnedByContext , self . IO , self . Style , self . Font , self . FontSize , self . FontBaseSize , self . DrawListSharedData , self . Time , self . FrameCount , self . FrameCountEnded , self . FrameCountRendered , self . WithinFrameScope , self . WithinFrameScopeWithImplicitWindow , self . WithinEndChild , self . GcCompactAll , self . TestEngineHookItems , self . TestEngineHookIdInfo , self . TestEngine , self . Windows , self . WindowsFocusOrder , self . WindowsTempSortBuffer , self . CurrentWindowStack , self . WindowsById , self . WindowsActiveCount , self . CurrentWindow , self . HoveredWindow , self . HoveredRootWindow , self . HoveredWindowUnderMovingWindow , self . MovingWindow , self . WheelingWindow , self . WheelingWindowRefMousePos , self . WheelingWindowTimer , self . HoveredId , self . HoveredIdPreviousFrame , self . HoveredIdAllowOverlap , self . HoveredIdUsingMouseWheel , self . HoveredIdPreviousFrameUsingMouseWheel , self . HoveredIdDisabled , self . HoveredIdTimer , self . HoveredIdNotActiveTimer , self . ActiveId , self . ActiveIdIsAlive , self . ActiveIdTimer , self . ActiveIdIsJustActivated , self . ActiveIdAllowOverlap , self . ActiveIdNoClearOnFocusLoss , self . ActiveIdHasBeenPressedBefore , self . ActiveIdHasBeenEditedBefore , self . ActiveIdHasBeenEditedThisFrame , self . ActiveIdUsingMouseWheel , self . ActiveIdUsingNavDirMask , self . ActiveIdUsingNavInputMask , self . ActiveIdUsingKeyInputMask , self . ActiveIdClickOffset , self . ActiveIdWindow , self . ActiveIdSource , self . ActiveIdMouseButton , self . ActiveIdPreviousFrame , self . ActiveIdPreviousFrameIsAlive , self . ActiveIdPreviousFrameHasBeenEditedBefore , self . ActiveIdPreviousFrameWindow , self . LastActiveId , self . LastActiveIdTimer , self . NextWindowData , self . NextItemData , self . ColorStack , self . StyleVarStack , self . FontStack , self . FocusScopeStack , self . ItemFlagsStack , self . GroupStack , self . OpenPopupStack , self . BeginPopupStack , self . Viewports , self . NavWindow , self . NavId , self . NavFocusScopeId , self . NavActivateId , self . NavActivateDownId , self . NavActivatePressedId , self . NavInputId , self . NavJustTabbedId , self . NavJustMovedToId , self . NavJustMovedToFocusScopeId , self . NavJustMovedToKeyMods , self . NavNextActivateId , self . NavInputSource , self . NavScoringRect , self . NavScoringCount , self . NavLayer , self . NavIdTabCounter , self . NavIdIsAlive , self . NavMousePosDirty , self . NavDisableHighlight , self . NavDisableMouseHover , self . NavAnyRequest , self . NavInitRequest , self . NavInitRequestFromMove , self . NavInitResultId , self . NavInitResultRectRel , self . NavMoveRequest , self . NavMoveRequestFlags , self . NavMoveRequestForward , self . NavMoveRequestKeyMods , self . NavMoveDir , self . NavMoveDirLast , self . NavMoveClipDir , self . NavMoveResultLocal , self . NavMoveResultLocalVisibleSet , self . NavMoveResultOther , self . NavWrapRequestWindow , self . NavWrapRequestFlags , self . NavWindowingTarget , self . NavWindowingTargetAnim , self . NavWindowingListWindow , self . NavWindowingTimer , self . NavWindowingHighlightAlpha , self . NavWindowingToggleLayer , self . FocusRequestCurrWindow , self . FocusRequestNextWindow , self . FocusRequestCurrCounterRegular , self . FocusRequestCurrCounterTabStop , self . FocusRequestNextCounterRegular , self . FocusRequestNextCounterTabStop , self . FocusTabPressed , self . DimBgRatio , self . MouseCursor , self . DragDropActive , self . DragDropWithinSource , self . DragDropWithinTarget , self . DragDropSourceFlags , self . DragDropSourceFrameCount , self . DragDropMouseButton , self . DragDropPayload , self . DragDropTargetRect , self . DragDropTargetId , self . DragDropAcceptFlags , self . DragDropAcceptIdCurrRectSurface , self . DragDropAcceptIdCurr , self . DragDropAcceptIdPrev , self . DragDropAcceptFrameCount , self . DragDropHoldJustPressedId , self . DragDropPayloadBufHeap , self . DragDropPayloadBufLocal , self . CurrentTable , self . Tables , self . CurrentTableStack , self . TablesLastTimeActive , self . DrawChannelsTempMergeBuffer , self . CurrentTabBar , self . TabBars , self . CurrentTabBarStack , self . ShrinkWidthBuffer , self . LastValidMousePos , self . InputTextState , self . InputTextPasswordFont , self . TempInputId , self . ColorEditOptions , self . ColorEditLastHue , self . ColorEditLastSat , self . ColorEditLastColor , self . ColorPickerRef , self . SliderCurrentAccum , self . SliderCurrentAccumDirty , self . DragCurrentAccumDirty , self . DragCurrentAccum , self . DragSpeedDefaultRatio , self . ScrollbarClickDeltaToGrabCenter , self . TooltipOverrideCount , self . TooltipSlowDelay , self . ClipboardHandlerData , self . MenusIdSubmittedThisFrame , self . PlatformImePos , self . PlatformImeLastPos , self . PlatformLocaleDecimalPoint , self . SettingsLoaded , self . SettingsDirtyTimer , self . SettingsIniData , self . SettingsHandlers , self . SettingsWindows , self . SettingsTables , self . Hooks , self . HookIdNext , self . LogEnabled , self . LogType , self . LogFile , self . LogBuffer , self . LogNextPrefix , self . LogNextSuffix , self . LogLinePosY , self . LogLineFirstItem , self . LogDepthRef , self . LogDepthToExpand , self . LogDepthToExpandDefault , self . DebugItemPickerActive , self . DebugItemPickerBreakId , self . DebugMetricsConfig , self . FramerateSecPerFrameIdx , self . FramerateSecPerFrameAccum , self . WantCaptureMouseNextFrame , self . WantCaptureKeyboardNextFrame , self . WantTextInputNextFrame) + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiWindowTempData { + pub CursorPos: ImVec2, + pub CursorPosPrevLine: ImVec2, + pub CursorStartPos: ImVec2, + pub CursorMaxPos: ImVec2, + pub IdealMaxPos: ImVec2, + pub CurrLineSize: ImVec2, + pub PrevLineSize: ImVec2, + pub CurrLineTextBaseOffset: f32, + pub PrevLineTextBaseOffset: f32, + pub Indent: ImVec1, + pub ColumnsOffset: ImVec1, + pub GroupOffset: ImVec1, + pub LastItemId: ImGuiID, + pub LastItemStatusFlags: ImGuiItemStatusFlags, + pub LastItemRect: ImRect, + pub LastItemDisplayRect: ImRect, + pub NavLayerCurrent: ImGuiNavLayer, + pub NavLayerActiveMask: cty::c_int, + pub NavLayerActiveMaskNext: cty::c_int, + pub NavFocusScopeIdCurrent: ImGuiID, + pub NavHideHighlightOneFrame: bool, + pub NavHasScroll: bool, + pub MenuBarAppending: bool, + pub MenuBarOffset: ImVec2, + pub MenuColumns: ImGuiMenuColumns, + pub TreeDepth: cty::c_int, + pub TreeJumpToParentOnPopMask: ImU32, + pub ChildWindows: ImVector_ImGuiWindowPtr, + pub StateStorage: *mut ImGuiStorage, + pub CurrentColumns: *mut ImGuiOldColumns, + pub CurrentTableIdx: cty::c_int, + pub LayoutType: ImGuiLayoutType, + pub ParentLayoutType: ImGuiLayoutType, + pub FocusCounterRegular: cty::c_int, + pub FocusCounterTabStop: cty::c_int, + pub ItemFlags: ImGuiItemFlags, + pub ItemWidth: f32, + pub TextWrapPos: f32, + pub ItemWidthStack: ImVector_float, + pub TextWrapPosStack: ImVector_float, + pub StackSizesOnBegin: ImGuiStackSizes, +} +impl Default for ImGuiWindowTempData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiWindow { + pub Name: *mut cty::c_char, + pub ID: ImGuiID, + pub Flags: ImGuiWindowFlags, + pub Pos: ImVec2, + pub Size: ImVec2, + pub SizeFull: ImVec2, + pub ContentSize: ImVec2, + pub ContentSizeIdeal: ImVec2, + pub ContentSizeExplicit: ImVec2, + pub WindowPadding: ImVec2, + pub WindowRounding: f32, + pub WindowBorderSize: f32, + pub NameBufLen: cty::c_int, + pub MoveId: ImGuiID, + pub ChildId: ImGuiID, + pub Scroll: ImVec2, + pub ScrollMax: ImVec2, + pub ScrollTarget: ImVec2, + pub ScrollTargetCenterRatio: ImVec2, + pub ScrollTargetEdgeSnapDist: ImVec2, + pub ScrollbarSizes: ImVec2, + pub ScrollbarX: bool, + pub ScrollbarY: bool, + pub Active: bool, + pub WasActive: bool, + pub WriteAccessed: bool, + pub Collapsed: bool, + pub WantCollapseToggle: bool, + pub SkipItems: bool, + pub Appearing: bool, + pub Hidden: bool, + pub IsFallbackWindow: bool, + pub HasCloseButton: bool, + pub ResizeBorderHeld: cty::c_schar, + pub BeginCount: cty::c_short, + pub BeginOrderWithinParent: cty::c_short, + pub BeginOrderWithinContext: cty::c_short, + pub PopupId: ImGuiID, + pub AutoFitFramesX: ImS8, + pub AutoFitFramesY: ImS8, + pub AutoFitChildAxises: ImS8, + pub AutoFitOnlyGrows: bool, + pub AutoPosLastDirection: ImGuiDir, + pub HiddenFramesCanSkipItems: ImS8, + pub HiddenFramesCannotSkipItems: ImS8, + pub HiddenFramesForRenderOnly: ImS8, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize], u8>, + pub SetWindowPosVal: ImVec2, + pub SetWindowPosPivot: ImVec2, + pub IDStack: ImVector_ImGuiID, + pub DC: ImGuiWindowTempData, + pub OuterRectClipped: ImRect, + pub InnerRect: ImRect, + pub InnerClipRect: ImRect, + pub WorkRect: ImRect, + pub ParentWorkRect: ImRect, + pub ClipRect: ImRect, + pub ContentRegionRect: ImRect, + pub HitTestHoleSize: ImVec2ih, + pub HitTestHoleOffset: ImVec2ih, + pub LastFrameActive: cty::c_int, + pub LastTimeActive: f32, + pub ItemWidthDefault: f32, + pub StateStorage: ImGuiStorage, + pub ColumnsStorage: ImVector_ImGuiOldColumns, + pub FontWindowScale: f32, + pub SettingsOffset: cty::c_int, + pub DrawList: *mut ImDrawList, + pub DrawListInst: ImDrawList, + pub ParentWindow: *mut ImGuiWindow, + pub RootWindow: *mut ImGuiWindow, + pub RootWindowForTitleBarHighlight: *mut ImGuiWindow, + pub RootWindowForNav: *mut ImGuiWindow, + pub NavLastChildNavWindow: *mut ImGuiWindow, + pub NavLastIds: [ImGuiID; 2usize], + pub NavRectRel: [ImRect; 2usize], + pub MemoryDrawListIdxCapacity: cty::c_int, + pub MemoryDrawListVtxCapacity: cty::c_int, + pub MemoryCompacted: bool, +} +impl Default for ImGuiWindow { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ImGuiWindow { + #[inline] + pub fn SetWindowPosAllowFlags(&self) -> ImGuiCond { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_SetWindowPosAllowFlags(&mut self, val: ImGuiCond) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn SetWindowSizeAllowFlags(&self) -> ImGuiCond { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_SetWindowSizeAllowFlags(&mut self, val: ImGuiCond) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn SetWindowCollapsedAllowFlags(&self) -> ImGuiCond { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) } + } + #[inline] + pub fn set_SetWindowCollapsedAllowFlags(&mut self, val: ImGuiCond) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SetWindowPosAllowFlags: ImGuiCond, + SetWindowSizeAllowFlags: ImGuiCond, + SetWindowCollapsedAllowFlags: ImGuiCond, + ) -> __BindgenBitfieldUnit<[u8; 3usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let SetWindowPosAllowFlags: u32 = + unsafe { ::core::mem::transmute(SetWindowPosAllowFlags) }; + SetWindowPosAllowFlags as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let SetWindowSizeAllowFlags: u32 = + unsafe { ::core::mem::transmute(SetWindowSizeAllowFlags) }; + SetWindowSizeAllowFlags as u64 + }); + __bindgen_bitfield_unit.set(16usize, 8u8, { + let SetWindowCollapsedAllowFlags: u32 = + unsafe { ::core::mem::transmute(SetWindowCollapsedAllowFlags) }; + SetWindowCollapsedAllowFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiLastItemDataBackup { + pub LastItemId: ImGuiID, + pub LastItemStatusFlags: ImGuiItemStatusFlags, + pub LastItemRect: ImRect, + pub LastItemDisplayRect: ImRect, +} +pub const ImGuiTabBarFlags_DockNode: ImGuiTabBarFlagsPrivate_ = 1048576; +pub const ImGuiTabBarFlags_IsFocused: ImGuiTabBarFlagsPrivate_ = 2097152; +pub const ImGuiTabBarFlags_SaveSettings: ImGuiTabBarFlagsPrivate_ = 4194304; +pub type ImGuiTabBarFlagsPrivate_ = cty::c_uint; +pub const ImGuiTabItemFlags_NoCloseButton: ImGuiTabItemFlagsPrivate_ = 1048576; +pub const ImGuiTabItemFlags_Button: ImGuiTabItemFlagsPrivate_ = 2097152; +pub type ImGuiTabItemFlagsPrivate_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTabItem { + pub ID: ImGuiID, + pub Flags: ImGuiTabItemFlags, + pub LastFrameVisible: cty::c_int, + pub LastFrameSelected: cty::c_int, + pub Offset: f32, + pub Width: f32, + pub ContentWidth: f32, + pub NameOffset: ImS16, + pub BeginOrder: ImS16, + pub IndexDuringLayout: ImS16, + pub WantClose: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiTabBar { + pub Tabs: ImVector_ImGuiTabItem, + pub Flags: ImGuiTabBarFlags, + pub ID: ImGuiID, + pub SelectedTabId: ImGuiID, + pub NextSelectedTabId: ImGuiID, + pub VisibleTabId: ImGuiID, + pub CurrFrameVisible: cty::c_int, + pub PrevFrameVisible: cty::c_int, + pub BarRect: ImRect, + pub CurrTabsContentsHeight: f32, + pub PrevTabsContentsHeight: f32, + pub WidthAllTabs: f32, + pub WidthAllTabsIdeal: f32, + pub ScrollingAnim: f32, + pub ScrollingTarget: f32, + pub ScrollingTargetDistToVisibility: f32, + pub ScrollingSpeed: f32, + pub ScrollingRectMinX: f32, + pub ScrollingRectMaxX: f32, + pub ReorderRequestTabId: ImGuiID, + pub ReorderRequestDir: ImS8, + pub BeginCount: ImS8, + pub WantLayout: bool, + pub VisibleTabWasSubmitted: bool, + pub TabsAddedNew: bool, + pub TabsActiveCount: ImS16, + pub LastTabItemIdx: ImS16, + pub ItemSpacingY: f32, + pub FramePadding: ImVec2, + pub BackupCursorPos: ImVec2, + pub TabsNames: ImGuiTextBuffer, +} +impl Default for ImGuiTabBar { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTableColumn { + pub Flags: ImGuiTableColumnFlags, + pub WidthGiven: f32, + pub MinX: f32, + pub MaxX: f32, + pub WidthRequest: f32, + pub WidthAuto: f32, + pub StretchWeight: f32, + pub InitStretchWeightOrWidth: f32, + pub ClipRect: ImRect, + pub UserID: ImGuiID, + pub WorkMinX: f32, + pub WorkMaxX: f32, + pub ItemWidth: f32, + pub ContentMaxXFrozen: f32, + pub ContentMaxXUnfrozen: f32, + pub ContentMaxXHeadersUsed: f32, + pub ContentMaxXHeadersIdeal: f32, + pub NameOffset: ImS16, + pub DisplayOrder: ImGuiTableColumnIdx, + pub IndexWithinEnabledSet: ImGuiTableColumnIdx, + pub PrevEnabledColumn: ImGuiTableColumnIdx, + pub NextEnabledColumn: ImGuiTableColumnIdx, + pub SortOrder: ImGuiTableColumnIdx, + pub DrawChannelCurrent: ImGuiTableDrawChannelIdx, + pub DrawChannelFrozen: ImGuiTableDrawChannelIdx, + pub DrawChannelUnfrozen: ImGuiTableDrawChannelIdx, + pub IsEnabled: bool, + pub IsEnabledNextFrame: bool, + pub IsVisibleX: bool, + pub IsVisibleY: bool, + pub IsRequestOutput: bool, + pub IsSkipItems: bool, + pub IsPreserveWidthAuto: bool, + pub NavLayerCurrent: ImS8, + pub AutoFitQueue: ImU8, + pub CannotSkipItemsQueue: ImU8, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, + pub SortDirectionsAvailList: ImU8, +} +impl ImGuiTableColumn { + #[inline] + pub fn SortDirection(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_SortDirection(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn SortDirectionsAvailCount(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u8) } + } + #[inline] + pub fn set_SortDirectionsAvailCount(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub fn SortDirectionsAvailMask(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_SortDirectionsAvailMask(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SortDirection: ImU8, + SortDirectionsAvailCount: ImU8, + SortDirectionsAvailMask: ImU8, + ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let SortDirection: u8 = unsafe { ::core::mem::transmute(SortDirection) }; + SortDirection as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let SortDirectionsAvailCount: u8 = + unsafe { ::core::mem::transmute(SortDirectionsAvailCount) }; + SortDirectionsAvailCount as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let SortDirectionsAvailMask: u8 = + unsafe { ::core::mem::transmute(SortDirectionsAvailMask) }; + SortDirectionsAvailMask as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiTableCellData { + pub BgColor: ImU32, + pub Column: ImGuiTableColumnIdx, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiTable { + pub ID: ImGuiID, + pub Flags: ImGuiTableFlags, + pub RawData: *mut cty::c_void, + pub Columns: ImSpan_ImGuiTableColumn, + pub DisplayOrderToIndex: ImSpan_ImGuiTableColumnIdx, + pub RowCellData: ImSpan_ImGuiTableCellData, + pub EnabledMaskByDisplayOrder: ImU64, + pub EnabledMaskByIndex: ImU64, + pub VisibleMaskByIndex: ImU64, + pub RequestOutputMaskByIndex: ImU64, + pub SettingsLoadedFlags: ImGuiTableFlags, + pub SettingsOffset: cty::c_int, + pub LastFrameActive: cty::c_int, + pub ColumnsCount: cty::c_int, + pub CurrentRow: cty::c_int, + pub CurrentColumn: cty::c_int, + pub InstanceCurrent: ImS16, + pub InstanceInteracted: ImS16, + pub RowPosY1: f32, + pub RowPosY2: f32, + pub RowMinHeight: f32, + pub RowTextBaseline: f32, + pub RowIndentOffsetX: f32, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, + pub RowBgColorCounter: cty::c_int, + pub RowBgColor: [ImU32; 2usize], + pub BorderColorStrong: ImU32, + pub BorderColorLight: ImU32, + pub BorderX1: f32, + pub BorderX2: f32, + pub HostIndentX: f32, + pub MinColumnWidth: f32, + pub OuterPaddingX: f32, + pub CellPaddingX: f32, + pub CellPaddingY: f32, + pub CellSpacingX1: f32, + pub CellSpacingX2: f32, + pub LastOuterHeight: f32, + pub LastFirstRowHeight: f32, + pub InnerWidth: f32, + pub ColumnsGivenWidth: f32, + pub ColumnsAutoFitWidth: f32, + pub ResizedColumnNextWidth: f32, + pub ResizeLockMinContentsX2: f32, + pub RefScale: f32, + pub OuterRect: ImRect, + pub InnerRect: ImRect, + pub WorkRect: ImRect, + pub InnerClipRect: ImRect, + pub BgClipRect: ImRect, + pub Bg0ClipRectForDrawCmd: ImRect, + pub Bg2ClipRectForDrawCmd: ImRect, + pub HostClipRect: ImRect, + pub HostBackupWorkRect: ImRect, + pub HostBackupParentWorkRect: ImRect, + pub HostBackupInnerClipRect: ImRect, + pub HostBackupPrevLineSize: ImVec2, + pub HostBackupCurrLineSize: ImVec2, + pub HostBackupCursorMaxPos: ImVec2, + pub UserOuterSize: ImVec2, + pub HostBackupColumnsOffset: ImVec1, + pub HostBackupItemWidth: f32, + pub HostBackupItemWidthStackSize: cty::c_int, + pub OuterWindow: *mut ImGuiWindow, + pub InnerWindow: *mut ImGuiWindow, + pub ColumnsNames: ImGuiTextBuffer, + pub DrawSplitter: ImDrawListSplitter, + pub SortSpecsSingle: ImGuiTableColumnSortSpecs, + pub SortSpecsMulti: ImVector_ImGuiTableColumnSortSpecs, + pub SortSpecs: ImGuiTableSortSpecs, + pub SortSpecsCount: ImGuiTableColumnIdx, + pub ColumnsEnabledCount: ImGuiTableColumnIdx, + pub ColumnsEnabledFixedCount: ImGuiTableColumnIdx, + pub DeclColumnsCount: ImGuiTableColumnIdx, + pub HoveredColumnBody: ImGuiTableColumnIdx, + pub HoveredColumnBorder: ImGuiTableColumnIdx, + pub AutoFitSingleColumn: ImGuiTableColumnIdx, + pub ResizedColumn: ImGuiTableColumnIdx, + pub LastResizedColumn: ImGuiTableColumnIdx, + pub HeldHeaderColumn: ImGuiTableColumnIdx, + pub ReorderColumn: ImGuiTableColumnIdx, + pub ReorderColumnDir: ImGuiTableColumnIdx, + pub LeftMostStretchedColumn: ImGuiTableColumnIdx, + pub RightMostStretchedColumn: ImGuiTableColumnIdx, + pub RightMostEnabledColumn: ImGuiTableColumnIdx, + pub ContextPopupColumn: ImGuiTableColumnIdx, + pub FreezeRowsRequest: ImGuiTableColumnIdx, + pub FreezeRowsCount: ImGuiTableColumnIdx, + pub FreezeColumnsRequest: ImGuiTableColumnIdx, + pub FreezeColumnsCount: ImGuiTableColumnIdx, + pub RowCellDataCurrent: ImGuiTableColumnIdx, + pub DummyDrawChannel: ImGuiTableDrawChannelIdx, + pub Bg2DrawChannelCurrent: ImGuiTableDrawChannelIdx, + pub Bg2DrawChannelUnfrozen: ImGuiTableDrawChannelIdx, + pub IsLayoutLocked: bool, + pub IsInsideRow: bool, + pub IsInitializing: bool, + pub IsSortSpecsDirty: bool, + pub IsUsingHeaders: bool, + pub IsContextPopupOpen: bool, + pub IsSettingsRequestLoad: bool, + pub IsSettingsDirty: bool, + pub IsDefaultDisplayOrder: bool, + pub IsResetAllRequest: bool, + pub IsResetDisplayOrderRequest: bool, + pub IsUnfrozenRows: bool, + pub IsDefaultSizingPolicy: bool, + pub MemoryCompacted: bool, + pub HostSkipItems: bool, +} +impl Default for ImGuiTable { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ImGuiTable { + #[inline] + pub fn RowFlags(&self) -> ImGuiTableRowFlags { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_RowFlags(&mut self, val: ImGuiTableRowFlags) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn LastRowFlags(&self) -> ImGuiTableRowFlags { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_LastRowFlags(&mut self, val: ImGuiTableRowFlags) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RowFlags: ImGuiTableRowFlags, + LastRowFlags: ImGuiTableRowFlags, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let RowFlags: u32 = unsafe { ::core::mem::transmute(RowFlags) }; + RowFlags as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let LastRowFlags: u32 = unsafe { ::core::mem::transmute(LastRowFlags) }; + LastRowFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTableColumnSettings { + pub WidthOrWeight: f32, + pub UserID: ImGuiID, + pub Index: ImGuiTableColumnIdx, + pub DisplayOrder: ImGuiTableColumnIdx, + pub SortOrder: ImGuiTableColumnIdx, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, +} +impl ImGuiTableColumnSettings { + #[inline] + pub fn SortDirection(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_SortDirection(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn IsEnabled(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_IsEnabled(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn IsStretch(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_IsStretch(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SortDirection: ImU8, + IsEnabled: ImU8, + IsStretch: ImU8, + ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let SortDirection: u8 = unsafe { ::core::mem::transmute(SortDirection) }; + SortDirection as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let IsEnabled: u8 = unsafe { ::core::mem::transmute(IsEnabled) }; + IsEnabled as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let IsStretch: u8 = unsafe { ::core::mem::transmute(IsStretch) }; + IsStretch as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTableSettings { + pub ID: ImGuiID, + pub SaveFlags: ImGuiTableFlags, + pub RefScale: f32, + pub ColumnsCount: ImGuiTableColumnIdx, + pub ColumnsCountMax: ImGuiTableColumnIdx, + pub WantApply: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImFontBuilderIO { + pub FontBuilder_Build: + ::core::option::Option bool>, +} extern "C" { pub fn ImVec2_ImVec2Nil() -> *mut ImVec2; } @@ -1687,10 +3595,10 @@ extern "C" { pub fn igGetScrollY() -> f32; } extern "C" { - pub fn igSetScrollX(scroll_x: f32); + pub fn igSetScrollXFloat(scroll_x: f32); } extern "C" { - pub fn igSetScrollY(scroll_y: f32); + pub fn igSetScrollYFloat(scroll_y: f32); } extern "C" { pub fn igGetScrollMaxX() -> f32; @@ -1705,10 +3613,10 @@ extern "C" { pub fn igSetScrollHereY(center_y_ratio: f32); } extern "C" { - pub fn igSetScrollFromPosX(local_x: f32, center_x_ratio: f32); + pub fn igSetScrollFromPosXFloat(local_x: f32, center_x_ratio: f32); } extern "C" { - pub fn igSetScrollFromPosY(local_y: f32, center_y_ratio: f32); + pub fn igSetScrollFromPosYFloat(local_y: f32, center_y_ratio: f32); } extern "C" { pub fn igPushFont(font: *mut ImFont); @@ -2542,6 +4450,12 @@ extern "C" { size: ImVec2, ) -> bool; } +extern "C" { + pub fn igBeginListBox(label: *const cty::c_char, size: ImVec2) -> bool; +} +extern "C" { + pub fn igEndListBox(); +} extern "C" { pub fn igListBoxStr_arr( label: *const cty::c_char, @@ -2567,19 +4481,6 @@ extern "C" { height_in_items: cty::c_int, ) -> bool; } -extern "C" { - pub fn igListBoxHeaderVec2(label: *const cty::c_char, size: ImVec2) -> bool; -} -extern "C" { - pub fn igListBoxHeaderInt( - label: *const cty::c_char, - items_count: cty::c_int, - height_in_items: cty::c_int, - ) -> bool; -} -extern "C" { - pub fn igListBoxFooter(); -} extern "C" { pub fn igPlotLinesFloatPtr( label: *const cty::c_char, @@ -2732,7 +4633,7 @@ extern "C" { ) -> bool; } extern "C" { - pub fn igIsPopupOpen(str_id: *const cty::c_char, flags: ImGuiPopupFlags) -> bool; + pub fn igIsPopupOpenStr(str_id: *const cty::c_char, flags: ImGuiPopupFlags) -> bool; } extern "C" { pub fn igBeginTable( @@ -2785,7 +4686,7 @@ extern "C" { pub fn igTableGetRowIndex() -> cty::c_int; } extern "C" { - pub fn igTableGetColumnName(column_n: cty::c_int) -> *const cty::c_char; + pub fn igTableGetColumnNameInt(column_n: cty::c_int) -> *const cty::c_char; } extern "C" { pub fn igTableGetColumnFlags(column_n: cty::c_int) -> ImGuiTableColumnFlags; @@ -2950,6 +4851,9 @@ extern "C" { extern "C" { pub fn igSetItemAllowOverlap(); } +extern "C" { + pub fn igGetMainViewport() -> *mut ImGuiViewport; +} extern "C" { pub fn igIsRectVisibleNil(size: ImVec2) -> bool; } @@ -2963,10 +4867,10 @@ extern "C" { pub fn igGetFrameCount() -> cty::c_int; } extern "C" { - pub fn igGetBackgroundDrawList() -> *mut ImDrawList; + pub fn igGetBackgroundDrawListNil() -> *mut ImDrawList; } extern "C" { - pub fn igGetForegroundDrawList() -> *mut ImDrawList; + pub fn igGetForegroundDrawListNil() -> *mut ImDrawList; } extern "C" { pub fn igGetDrawListSharedData() -> *mut ImDrawListSharedData; @@ -4228,6 +6132,2010 @@ extern "C" { c_last: cty::c_uint, ) -> bool; } +extern "C" { + pub fn ImGuiViewport_ImGuiViewport() -> *mut ImGuiViewport; +} +extern "C" { + pub fn ImGuiViewport_destroy(self_: *mut ImGuiViewport); +} +extern "C" { + pub fn ImGuiViewport_GetCenter(pOut: *mut ImVec2, self_: *mut ImGuiViewport); +} +extern "C" { + pub fn ImGuiViewport_GetWorkCenter(pOut: *mut ImVec2, self_: *mut ImGuiViewport); +} +extern "C" { + pub fn igImHashData(data: *const cty::c_void, data_size: usize, seed: ImU32) -> ImGuiID; +} +extern "C" { + pub fn igImHashStr(data: *const cty::c_char, data_size: usize, seed: ImU32) -> ImGuiID; +} +extern "C" { + pub fn igImAlphaBlendColors(col_a: ImU32, col_b: ImU32) -> ImU32; +} +extern "C" { + pub fn igImIsPowerOfTwoInt(v: cty::c_int) -> bool; +} +extern "C" { + pub fn igImIsPowerOfTwoU64(v: ImU64) -> bool; +} +extern "C" { + pub fn igImUpperPowerOfTwo(v: cty::c_int) -> cty::c_int; +} +extern "C" { + pub fn igImStricmp(str1: *const cty::c_char, str2: *const cty::c_char) -> cty::c_int; +} +extern "C" { + pub fn igImStrnicmp( + str1: *const cty::c_char, + str2: *const cty::c_char, + count: usize, + ) -> cty::c_int; +} +extern "C" { + pub fn igImStrncpy(dst: *mut cty::c_char, src: *const cty::c_char, count: usize); +} +extern "C" { + pub fn igImStrdup(str_: *const cty::c_char) -> *mut cty::c_char; +} +extern "C" { + pub fn igImStrdupcpy( + dst: *mut cty::c_char, + p_dst_size: *mut usize, + str_: *const cty::c_char, + ) -> *mut cty::c_char; +} +extern "C" { + pub fn igImStrchrRange( + str_begin: *const cty::c_char, + str_end: *const cty::c_char, + c: cty::c_char, + ) -> *const cty::c_char; +} +extern "C" { + pub fn igImStrlenW(str_: *const ImWchar) -> cty::c_int; +} +extern "C" { + pub fn igImStreolRange( + str_: *const cty::c_char, + str_end: *const cty::c_char, + ) -> *const cty::c_char; +} +extern "C" { + pub fn igImStrbolW(buf_mid_line: *const ImWchar, buf_begin: *const ImWchar) -> *const ImWchar; +} +extern "C" { + pub fn igImStristr( + haystack: *const cty::c_char, + haystack_end: *const cty::c_char, + needle: *const cty::c_char, + needle_end: *const cty::c_char, + ) -> *const cty::c_char; +} +extern "C" { + pub fn igImStrTrimBlanks(str_: *mut cty::c_char); +} +extern "C" { + pub fn igImStrSkipBlank(str_: *const cty::c_char) -> *const cty::c_char; +} +extern "C" { + pub fn igImFormatString( + buf: *mut cty::c_char, + buf_size: usize, + fmt: *const cty::c_char, + ... + ) -> cty::c_int; +} +extern "C" { + pub fn igImParseFormatFindStart(format: *const cty::c_char) -> *const cty::c_char; +} +extern "C" { + pub fn igImParseFormatFindEnd(format: *const cty::c_char) -> *const cty::c_char; +} +extern "C" { + pub fn igImParseFormatTrimDecorations( + format: *const cty::c_char, + buf: *mut cty::c_char, + buf_size: usize, + ) -> *const cty::c_char; +} +extern "C" { + pub fn igImParseFormatPrecision( + format: *const cty::c_char, + default_value: cty::c_int, + ) -> cty::c_int; +} +extern "C" { + pub fn igImCharIsBlankA(c: cty::c_char) -> bool; +} +extern "C" { + pub fn igImCharIsBlankW(c: cty::c_uint) -> bool; +} +extern "C" { + pub fn igImTextStrToUtf8( + buf: *mut cty::c_char, + buf_size: cty::c_int, + in_text: *const ImWchar, + in_text_end: *const ImWchar, + ) -> cty::c_int; +} +extern "C" { + pub fn igImTextCharFromUtf8( + out_char: *mut cty::c_uint, + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + ) -> cty::c_int; +} +extern "C" { + pub fn igImTextStrFromUtf8( + buf: *mut ImWchar, + buf_size: cty::c_int, + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + in_remaining: *mut *const cty::c_char, + ) -> cty::c_int; +} +extern "C" { + pub fn igImTextCountCharsFromUtf8( + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + ) -> cty::c_int; +} +extern "C" { + pub fn igImTextCountUtf8BytesFromChar( + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + ) -> cty::c_int; +} +extern "C" { + pub fn igImTextCountUtf8BytesFromStr( + in_text: *const ImWchar, + in_text_end: *const ImWchar, + ) -> cty::c_int; +} +extern "C" { + pub fn igImFileOpen(filename: *const cty::c_char, mode: *const cty::c_char) -> ImFileHandle; +} +extern "C" { + pub fn igImFileClose(file: ImFileHandle) -> bool; +} +extern "C" { + pub fn igImFileGetSize(file: ImFileHandle) -> ImU64; +} +extern "C" { + pub fn igImFileRead( + data: *mut cty::c_void, + size: ImU64, + count: ImU64, + file: ImFileHandle, + ) -> ImU64; +} +extern "C" { + pub fn igImFileWrite( + data: *const cty::c_void, + size: ImU64, + count: ImU64, + file: ImFileHandle, + ) -> ImU64; +} +extern "C" { + pub fn igImFileLoadToMemory( + filename: *const cty::c_char, + mode: *const cty::c_char, + out_file_size: *mut usize, + padding_bytes: cty::c_int, + ) -> *mut cty::c_void; +} +extern "C" { + pub fn igImPowFloat(x: f32, y: f32) -> f32; +} +extern "C" { + pub fn igImPowdouble(x: f64, y: f64) -> f64; +} +extern "C" { + pub fn igImLogFloat(x: f32) -> f32; +} +extern "C" { + pub fn igImLogdouble(x: f64) -> f64; +} +extern "C" { + pub fn igImAbsFloat(x: f32) -> f32; +} +extern "C" { + pub fn igImAbsdouble(x: f64) -> f64; +} +extern "C" { + pub fn igImSignFloat(x: f32) -> f32; +} +extern "C" { + pub fn igImSigndouble(x: f64) -> f64; +} +extern "C" { + pub fn igImMin(pOut: *mut ImVec2, lhs: ImVec2, rhs: ImVec2); +} +extern "C" { + pub fn igImMax(pOut: *mut ImVec2, lhs: ImVec2, rhs: ImVec2); +} +extern "C" { + pub fn igImClamp(pOut: *mut ImVec2, v: ImVec2, mn: ImVec2, mx: ImVec2); +} +extern "C" { + pub fn igImLerpVec2Float(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, t: f32); +} +extern "C" { + pub fn igImLerpVec2Vec2(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, t: ImVec2); +} +extern "C" { + pub fn igImLerpVec4(pOut: *mut ImVec4, a: ImVec4, b: ImVec4, t: f32); +} +extern "C" { + pub fn igImSaturate(f: f32) -> f32; +} +extern "C" { + pub fn igImLengthSqrVec2(lhs: ImVec2) -> f32; +} +extern "C" { + pub fn igImLengthSqrVec4(lhs: ImVec4) -> f32; +} +extern "C" { + pub fn igImInvLength(lhs: ImVec2, fail_value: f32) -> f32; +} +extern "C" { + pub fn igImFloorFloat(f: f32) -> f32; +} +extern "C" { + pub fn igImFloorVec2(pOut: *mut ImVec2, v: ImVec2); +} +extern "C" { + pub fn igImModPositive(a: cty::c_int, b: cty::c_int) -> cty::c_int; +} +extern "C" { + pub fn igImDot(a: ImVec2, b: ImVec2) -> f32; +} +extern "C" { + pub fn igImRotate(pOut: *mut ImVec2, v: ImVec2, cos_a: f32, sin_a: f32); +} +extern "C" { + pub fn igImLinearSweep(current: f32, target: f32, speed: f32) -> f32; +} +extern "C" { + pub fn igImMul(pOut: *mut ImVec2, lhs: ImVec2, rhs: ImVec2); +} +extern "C" { + pub fn igImBezierCubicCalc( + pOut: *mut ImVec2, + p1: ImVec2, + p2: ImVec2, + p3: ImVec2, + p4: ImVec2, + t: f32, + ); +} +extern "C" { + pub fn igImBezierCubicClosestPoint( + pOut: *mut ImVec2, + p1: ImVec2, + p2: ImVec2, + p3: ImVec2, + p4: ImVec2, + p: ImVec2, + num_segments: cty::c_int, + ); +} +extern "C" { + pub fn igImBezierCubicClosestPointCasteljau( + pOut: *mut ImVec2, + p1: ImVec2, + p2: ImVec2, + p3: ImVec2, + p4: ImVec2, + p: ImVec2, + tess_tol: f32, + ); +} +extern "C" { + pub fn igImBezierQuadraticCalc(pOut: *mut ImVec2, p1: ImVec2, p2: ImVec2, p3: ImVec2, t: f32); +} +extern "C" { + pub fn igImLineClosestPoint(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, p: ImVec2); +} +extern "C" { + pub fn igImTriangleContainsPoint(a: ImVec2, b: ImVec2, c: ImVec2, p: ImVec2) -> bool; +} +extern "C" { + pub fn igImTriangleClosestPoint(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, c: ImVec2, p: ImVec2); +} +extern "C" { + pub fn igImTriangleBarycentricCoords( + a: ImVec2, + b: ImVec2, + c: ImVec2, + p: ImVec2, + out_u: *mut f32, + out_v: *mut f32, + out_w: *mut f32, + ); +} +extern "C" { + pub fn igImTriangleArea(a: ImVec2, b: ImVec2, c: ImVec2) -> f32; +} +extern "C" { + pub fn igImGetDirQuadrantFromDelta(dx: f32, dy: f32) -> ImGuiDir; +} +extern "C" { + pub fn ImVec1_ImVec1Nil() -> *mut ImVec1; +} +extern "C" { + pub fn ImVec1_destroy(self_: *mut ImVec1); +} +extern "C" { + pub fn ImVec1_ImVec1Float(_x: f32) -> *mut ImVec1; +} +extern "C" { + pub fn ImVec2ih_ImVec2ihNil() -> *mut ImVec2ih; +} +extern "C" { + pub fn ImVec2ih_destroy(self_: *mut ImVec2ih); +} +extern "C" { + pub fn ImVec2ih_ImVec2ihshort(_x: cty::c_short, _y: cty::c_short) -> *mut ImVec2ih; +} +extern "C" { + pub fn ImVec2ih_ImVec2ihVec2(rhs: ImVec2) -> *mut ImVec2ih; +} +extern "C" { + pub fn ImRect_ImRectNil() -> *mut ImRect; +} +extern "C" { + pub fn ImRect_destroy(self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_ImRectVec2(min: ImVec2, max: ImVec2) -> *mut ImRect; +} +extern "C" { + pub fn ImRect_ImRectVec4(v: ImVec4) -> *mut ImRect; +} +extern "C" { + pub fn ImRect_ImRectFloat(x1: f32, y1: f32, x2: f32, y2: f32) -> *mut ImRect; +} +extern "C" { + pub fn ImRect_GetCenter(pOut: *mut ImVec2, self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_GetSize(pOut: *mut ImVec2, self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_GetWidth(self_: *mut ImRect) -> f32; +} +extern "C" { + pub fn ImRect_GetHeight(self_: *mut ImRect) -> f32; +} +extern "C" { + pub fn ImRect_GetTL(pOut: *mut ImVec2, self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_GetTR(pOut: *mut ImVec2, self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_GetBL(pOut: *mut ImVec2, self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_GetBR(pOut: *mut ImVec2, self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_ContainsVec2(self_: *mut ImRect, p: ImVec2) -> bool; +} +extern "C" { + pub fn ImRect_ContainsRect(self_: *mut ImRect, r: ImRect) -> bool; +} +extern "C" { + pub fn ImRect_Overlaps(self_: *mut ImRect, r: ImRect) -> bool; +} +extern "C" { + pub fn ImRect_AddVec2(self_: *mut ImRect, p: ImVec2); +} +extern "C" { + pub fn ImRect_AddRect(self_: *mut ImRect, r: ImRect); +} +extern "C" { + pub fn ImRect_ExpandFloat(self_: *mut ImRect, amount: f32); +} +extern "C" { + pub fn ImRect_ExpandVec2(self_: *mut ImRect, amount: ImVec2); +} +extern "C" { + pub fn ImRect_Translate(self_: *mut ImRect, d: ImVec2); +} +extern "C" { + pub fn ImRect_TranslateX(self_: *mut ImRect, dx: f32); +} +extern "C" { + pub fn ImRect_TranslateY(self_: *mut ImRect, dy: f32); +} +extern "C" { + pub fn ImRect_ClipWith(self_: *mut ImRect, r: ImRect); +} +extern "C" { + pub fn ImRect_ClipWithFull(self_: *mut ImRect, r: ImRect); +} +extern "C" { + pub fn ImRect_Floor(self_: *mut ImRect); +} +extern "C" { + pub fn ImRect_IsInverted(self_: *mut ImRect) -> bool; +} +extern "C" { + pub fn ImRect_ToVec4(pOut: *mut ImVec4, self_: *mut ImRect); +} +extern "C" { + pub fn igImBitArrayTestBit(arr: *const ImU32, n: cty::c_int) -> bool; +} +extern "C" { + pub fn igImBitArrayClearBit(arr: *mut ImU32, n: cty::c_int); +} +extern "C" { + pub fn igImBitArraySetBit(arr: *mut ImU32, n: cty::c_int); +} +extern "C" { + pub fn igImBitArraySetBitRange(arr: *mut ImU32, n: cty::c_int, n2: cty::c_int); +} +extern "C" { + pub fn ImBitVector_Create(self_: *mut ImBitVector, sz: cty::c_int); +} +extern "C" { + pub fn ImBitVector_Clear(self_: *mut ImBitVector); +} +extern "C" { + pub fn ImBitVector_TestBit(self_: *mut ImBitVector, n: cty::c_int) -> bool; +} +extern "C" { + pub fn ImBitVector_SetBit(self_: *mut ImBitVector, n: cty::c_int); +} +extern "C" { + pub fn ImBitVector_ClearBit(self_: *mut ImBitVector, n: cty::c_int); +} +extern "C" { + pub fn ImDrawListSharedData_ImDrawListSharedData() -> *mut ImDrawListSharedData; +} +extern "C" { + pub fn ImDrawListSharedData_destroy(self_: *mut ImDrawListSharedData); +} +extern "C" { + pub fn ImDrawListSharedData_SetCircleSegmentMaxError( + self_: *mut ImDrawListSharedData, + max_error: f32, + ); +} +extern "C" { + pub fn ImDrawDataBuilder_Clear(self_: *mut ImDrawDataBuilder); +} +extern "C" { + pub fn ImDrawDataBuilder_ClearFreeMemory(self_: *mut ImDrawDataBuilder); +} +extern "C" { + pub fn ImDrawDataBuilder_GetDrawListCount(self_: *mut ImDrawDataBuilder) -> cty::c_int; +} +extern "C" { + pub fn ImDrawDataBuilder_FlattenIntoSingleLayer(self_: *mut ImDrawDataBuilder); +} +extern "C" { + pub fn ImGuiStyleMod_ImGuiStyleModInt(idx: ImGuiStyleVar, v: cty::c_int) -> *mut ImGuiStyleMod; +} +extern "C" { + pub fn ImGuiStyleMod_destroy(self_: *mut ImGuiStyleMod); +} +extern "C" { + pub fn ImGuiStyleMod_ImGuiStyleModFloat(idx: ImGuiStyleVar, v: f32) -> *mut ImGuiStyleMod; +} +extern "C" { + pub fn ImGuiStyleMod_ImGuiStyleModVec2(idx: ImGuiStyleVar, v: ImVec2) -> *mut ImGuiStyleMod; +} +extern "C" { + pub fn ImGuiMenuColumns_ImGuiMenuColumns() -> *mut ImGuiMenuColumns; +} +extern "C" { + pub fn ImGuiMenuColumns_destroy(self_: *mut ImGuiMenuColumns); +} +extern "C" { + pub fn ImGuiMenuColumns_Update( + self_: *mut ImGuiMenuColumns, + count: cty::c_int, + spacing: f32, + clear: bool, + ); +} +extern "C" { + pub fn ImGuiMenuColumns_DeclColumns( + self_: *mut ImGuiMenuColumns, + w0: f32, + w1: f32, + w2: f32, + ) -> f32; +} +extern "C" { + pub fn ImGuiMenuColumns_CalcExtraSpace(self_: *mut ImGuiMenuColumns, avail_w: f32) -> f32; +} +extern "C" { + pub fn ImGuiInputTextState_ImGuiInputTextState() -> *mut ImGuiInputTextState; +} +extern "C" { + pub fn ImGuiInputTextState_destroy(self_: *mut ImGuiInputTextState); +} +extern "C" { + pub fn ImGuiInputTextState_ClearText(self_: *mut ImGuiInputTextState); +} +extern "C" { + pub fn ImGuiInputTextState_ClearFreeMemory(self_: *mut ImGuiInputTextState); +} +extern "C" { + pub fn ImGuiInputTextState_GetUndoAvailCount(self_: *mut ImGuiInputTextState) -> cty::c_int; +} +extern "C" { + pub fn ImGuiInputTextState_GetRedoAvailCount(self_: *mut ImGuiInputTextState) -> cty::c_int; +} +extern "C" { + pub fn ImGuiInputTextState_OnKeyPressed(self_: *mut ImGuiInputTextState, key: cty::c_int); +} +extern "C" { + pub fn ImGuiInputTextState_CursorAnimReset(self_: *mut ImGuiInputTextState); +} +extern "C" { + pub fn ImGuiInputTextState_CursorClamp(self_: *mut ImGuiInputTextState); +} +extern "C" { + pub fn ImGuiInputTextState_HasSelection(self_: *mut ImGuiInputTextState) -> bool; +} +extern "C" { + pub fn ImGuiInputTextState_ClearSelection(self_: *mut ImGuiInputTextState); +} +extern "C" { + pub fn ImGuiInputTextState_SelectAll(self_: *mut ImGuiInputTextState); +} +extern "C" { + pub fn ImGuiPopupData_ImGuiPopupData() -> *mut ImGuiPopupData; +} +extern "C" { + pub fn ImGuiPopupData_destroy(self_: *mut ImGuiPopupData); +} +extern "C" { + pub fn ImGuiNavMoveResult_ImGuiNavMoveResult() -> *mut ImGuiNavMoveResult; +} +extern "C" { + pub fn ImGuiNavMoveResult_destroy(self_: *mut ImGuiNavMoveResult); +} +extern "C" { + pub fn ImGuiNavMoveResult_Clear(self_: *mut ImGuiNavMoveResult); +} +extern "C" { + pub fn ImGuiNextWindowData_ImGuiNextWindowData() -> *mut ImGuiNextWindowData; +} +extern "C" { + pub fn ImGuiNextWindowData_destroy(self_: *mut ImGuiNextWindowData); +} +extern "C" { + pub fn ImGuiNextWindowData_ClearFlags(self_: *mut ImGuiNextWindowData); +} +extern "C" { + pub fn ImGuiNextItemData_ImGuiNextItemData() -> *mut ImGuiNextItemData; +} +extern "C" { + pub fn ImGuiNextItemData_destroy(self_: *mut ImGuiNextItemData); +} +extern "C" { + pub fn ImGuiNextItemData_ClearFlags(self_: *mut ImGuiNextItemData); +} +extern "C" { + pub fn ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr(ptr: *mut cty::c_void) -> *mut ImGuiPtrOrIndex; +} +extern "C" { + pub fn ImGuiPtrOrIndex_destroy(self_: *mut ImGuiPtrOrIndex); +} +extern "C" { + pub fn ImGuiPtrOrIndex_ImGuiPtrOrIndexInt(index: cty::c_int) -> *mut ImGuiPtrOrIndex; +} +extern "C" { + pub fn ImGuiOldColumnData_ImGuiOldColumnData() -> *mut ImGuiOldColumnData; +} +extern "C" { + pub fn ImGuiOldColumnData_destroy(self_: *mut ImGuiOldColumnData); +} +extern "C" { + pub fn ImGuiOldColumns_ImGuiOldColumns() -> *mut ImGuiOldColumns; +} +extern "C" { + pub fn ImGuiOldColumns_destroy(self_: *mut ImGuiOldColumns); +} +extern "C" { + pub fn ImGuiViewportP_ImGuiViewportP() -> *mut ImGuiViewportP; +} +extern "C" { + pub fn ImGuiViewportP_destroy(self_: *mut ImGuiViewportP); +} +extern "C" { + pub fn ImGuiViewportP_GetMainRect(pOut: *mut ImRect, self_: *mut ImGuiViewportP); +} +extern "C" { + pub fn ImGuiViewportP_GetWorkRect(pOut: *mut ImRect, self_: *mut ImGuiViewportP); +} +extern "C" { + pub fn ImGuiViewportP_UpdateWorkRect(self_: *mut ImGuiViewportP); +} +extern "C" { + pub fn ImGuiWindowSettings_ImGuiWindowSettings() -> *mut ImGuiWindowSettings; +} +extern "C" { + pub fn ImGuiWindowSettings_destroy(self_: *mut ImGuiWindowSettings); +} +extern "C" { + pub fn ImGuiWindowSettings_GetName(self_: *mut ImGuiWindowSettings) -> *mut cty::c_char; +} +extern "C" { + pub fn ImGuiSettingsHandler_ImGuiSettingsHandler() -> *mut ImGuiSettingsHandler; +} +extern "C" { + pub fn ImGuiSettingsHandler_destroy(self_: *mut ImGuiSettingsHandler); +} +extern "C" { + pub fn ImGuiMetricsConfig_ImGuiMetricsConfig() -> *mut ImGuiMetricsConfig; +} +extern "C" { + pub fn ImGuiMetricsConfig_destroy(self_: *mut ImGuiMetricsConfig); +} +extern "C" { + pub fn ImGuiStackSizes_ImGuiStackSizes() -> *mut ImGuiStackSizes; +} +extern "C" { + pub fn ImGuiStackSizes_destroy(self_: *mut ImGuiStackSizes); +} +extern "C" { + pub fn ImGuiStackSizes_SetToCurrentState(self_: *mut ImGuiStackSizes); +} +extern "C" { + pub fn ImGuiStackSizes_CompareWithCurrentState(self_: *mut ImGuiStackSizes); +} +extern "C" { + pub fn ImGuiContextHook_ImGuiContextHook() -> *mut ImGuiContextHook; +} +extern "C" { + pub fn ImGuiContextHook_destroy(self_: *mut ImGuiContextHook); +} +extern "C" { + pub fn ImGuiContext_ImGuiContext(shared_font_atlas: *mut ImFontAtlas) -> *mut ImGuiContext; +} +extern "C" { + pub fn ImGuiContext_destroy(self_: *mut ImGuiContext); +} +extern "C" { + pub fn ImGuiWindow_ImGuiWindow( + context: *mut ImGuiContext, + name: *const cty::c_char, + ) -> *mut ImGuiWindow; +} +extern "C" { + pub fn ImGuiWindow_destroy(self_: *mut ImGuiWindow); +} +extern "C" { + pub fn ImGuiWindow_GetIDStr( + self_: *mut ImGuiWindow, + str_: *const cty::c_char, + str_end: *const cty::c_char, + ) -> ImGuiID; +} +extern "C" { + pub fn ImGuiWindow_GetIDPtr(self_: *mut ImGuiWindow, ptr: *const cty::c_void) -> ImGuiID; +} +extern "C" { + pub fn ImGuiWindow_GetIDInt(self_: *mut ImGuiWindow, n: cty::c_int) -> ImGuiID; +} +extern "C" { + pub fn ImGuiWindow_GetIDNoKeepAliveStr( + self_: *mut ImGuiWindow, + str_: *const cty::c_char, + str_end: *const cty::c_char, + ) -> ImGuiID; +} +extern "C" { + pub fn ImGuiWindow_GetIDNoKeepAlivePtr( + self_: *mut ImGuiWindow, + ptr: *const cty::c_void, + ) -> ImGuiID; +} +extern "C" { + pub fn ImGuiWindow_GetIDNoKeepAliveInt(self_: *mut ImGuiWindow, n: cty::c_int) -> ImGuiID; +} +extern "C" { + pub fn ImGuiWindow_GetIDFromRectangle(self_: *mut ImGuiWindow, r_abs: ImRect) -> ImGuiID; +} +extern "C" { + pub fn ImGuiWindow_Rect(pOut: *mut ImRect, self_: *mut ImGuiWindow); +} +extern "C" { + pub fn ImGuiWindow_CalcFontSize(self_: *mut ImGuiWindow) -> f32; +} +extern "C" { + pub fn ImGuiWindow_TitleBarHeight(self_: *mut ImGuiWindow) -> f32; +} +extern "C" { + pub fn ImGuiWindow_TitleBarRect(pOut: *mut ImRect, self_: *mut ImGuiWindow); +} +extern "C" { + pub fn ImGuiWindow_MenuBarHeight(self_: *mut ImGuiWindow) -> f32; +} +extern "C" { + pub fn ImGuiWindow_MenuBarRect(pOut: *mut ImRect, self_: *mut ImGuiWindow); +} +extern "C" { + pub fn ImGuiLastItemDataBackup_ImGuiLastItemDataBackup() -> *mut ImGuiLastItemDataBackup; +} +extern "C" { + pub fn ImGuiLastItemDataBackup_destroy(self_: *mut ImGuiLastItemDataBackup); +} +extern "C" { + pub fn ImGuiLastItemDataBackup_Backup(self_: *mut ImGuiLastItemDataBackup); +} +extern "C" { + pub fn ImGuiLastItemDataBackup_Restore(self_: *mut ImGuiLastItemDataBackup); +} +extern "C" { + pub fn ImGuiTabItem_ImGuiTabItem() -> *mut ImGuiTabItem; +} +extern "C" { + pub fn ImGuiTabItem_destroy(self_: *mut ImGuiTabItem); +} +extern "C" { + pub fn ImGuiTabBar_ImGuiTabBar() -> *mut ImGuiTabBar; +} +extern "C" { + pub fn ImGuiTabBar_destroy(self_: *mut ImGuiTabBar); +} +extern "C" { + pub fn ImGuiTabBar_GetTabOrder(self_: *mut ImGuiTabBar, tab: *const ImGuiTabItem) + -> cty::c_int; +} +extern "C" { + pub fn ImGuiTabBar_GetTabName( + self_: *mut ImGuiTabBar, + tab: *const ImGuiTabItem, + ) -> *const cty::c_char; +} +extern "C" { + pub fn ImGuiTableColumn_ImGuiTableColumn() -> *mut ImGuiTableColumn; +} +extern "C" { + pub fn ImGuiTableColumn_destroy(self_: *mut ImGuiTableColumn); +} +extern "C" { + pub fn ImGuiTable_ImGuiTable() -> *mut ImGuiTable; +} +extern "C" { + pub fn ImGuiTable_destroy(self_: *mut ImGuiTable); +} +extern "C" { + pub fn ImGuiTableColumnSettings_ImGuiTableColumnSettings() -> *mut ImGuiTableColumnSettings; +} +extern "C" { + pub fn ImGuiTableColumnSettings_destroy(self_: *mut ImGuiTableColumnSettings); +} +extern "C" { + pub fn ImGuiTableSettings_ImGuiTableSettings() -> *mut ImGuiTableSettings; +} +extern "C" { + pub fn ImGuiTableSettings_destroy(self_: *mut ImGuiTableSettings); +} +extern "C" { + pub fn ImGuiTableSettings_GetColumnSettings( + self_: *mut ImGuiTableSettings, + ) -> *mut ImGuiTableColumnSettings; +} +extern "C" { + pub fn igGetCurrentWindowRead() -> *mut ImGuiWindow; +} +extern "C" { + pub fn igGetCurrentWindow() -> *mut ImGuiWindow; +} +extern "C" { + pub fn igFindWindowByID(id: ImGuiID) -> *mut ImGuiWindow; +} +extern "C" { + pub fn igFindWindowByName(name: *const cty::c_char) -> *mut ImGuiWindow; +} +extern "C" { + pub fn igUpdateWindowParentAndRootLinks( + window: *mut ImGuiWindow, + flags: ImGuiWindowFlags, + parent_window: *mut ImGuiWindow, + ); +} +extern "C" { + pub fn igCalcWindowNextAutoFitSize(pOut: *mut ImVec2, window: *mut ImGuiWindow); +} +extern "C" { + pub fn igIsWindowChildOf(window: *mut ImGuiWindow, potential_parent: *mut ImGuiWindow) -> bool; +} +extern "C" { + pub fn igIsWindowAbove( + potential_above: *mut ImGuiWindow, + potential_below: *mut ImGuiWindow, + ) -> bool; +} +extern "C" { + pub fn igIsWindowNavFocusable(window: *mut ImGuiWindow) -> bool; +} +extern "C" { + pub fn igGetWindowAllowedExtentRect(pOut: *mut ImRect, window: *mut ImGuiWindow); +} +extern "C" { + pub fn igSetWindowPosWindowPtr(window: *mut ImGuiWindow, pos: ImVec2, cond: ImGuiCond); +} +extern "C" { + pub fn igSetWindowSizeWindowPtr(window: *mut ImGuiWindow, size: ImVec2, cond: ImGuiCond); +} +extern "C" { + pub fn igSetWindowCollapsedWindowPtr( + window: *mut ImGuiWindow, + collapsed: bool, + cond: ImGuiCond, + ); +} +extern "C" { + pub fn igSetWindowHitTestHole(window: *mut ImGuiWindow, pos: ImVec2, size: ImVec2); +} +extern "C" { + pub fn igFocusWindow(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igFocusTopMostWindowUnderOne( + under_this_window: *mut ImGuiWindow, + ignore_window: *mut ImGuiWindow, + ); +} +extern "C" { + pub fn igBringWindowToFocusFront(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igBringWindowToDisplayFront(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igBringWindowToDisplayBack(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igSetCurrentFont(font: *mut ImFont); +} +extern "C" { + pub fn igGetDefaultFont() -> *mut ImFont; +} +extern "C" { + pub fn igGetForegroundDrawListWindowPtr(window: *mut ImGuiWindow) -> *mut ImDrawList; +} +extern "C" { + pub fn igGetBackgroundDrawListViewportPtr(viewport: *mut ImGuiViewport) -> *mut ImDrawList; +} +extern "C" { + pub fn igGetForegroundDrawListViewportPtr(viewport: *mut ImGuiViewport) -> *mut ImDrawList; +} +extern "C" { + pub fn igInitialize(context: *mut ImGuiContext); +} +extern "C" { + pub fn igShutdown(context: *mut ImGuiContext); +} +extern "C" { + pub fn igUpdateHoveredWindowAndCaptureFlags(); +} +extern "C" { + pub fn igStartMouseMovingWindow(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igUpdateMouseMovingWindowNewFrame(); +} +extern "C" { + pub fn igUpdateMouseMovingWindowEndFrame(); +} +extern "C" { + pub fn igAddContextHook(context: *mut ImGuiContext, hook: *const ImGuiContextHook) -> ImGuiID; +} +extern "C" { + pub fn igRemoveContextHook(context: *mut ImGuiContext, hook_to_remove: ImGuiID); +} +extern "C" { + pub fn igCallContextHooks(context: *mut ImGuiContext, type_: ImGuiContextHookType); +} +extern "C" { + pub fn igMarkIniSettingsDirtyNil(); +} +extern "C" { + pub fn igMarkIniSettingsDirtyWindowPtr(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igClearIniSettings(); +} +extern "C" { + pub fn igCreateNewWindowSettings(name: *const cty::c_char) -> *mut ImGuiWindowSettings; +} +extern "C" { + pub fn igFindWindowSettings(id: ImGuiID) -> *mut ImGuiWindowSettings; +} +extern "C" { + pub fn igFindOrCreateWindowSettings(name: *const cty::c_char) -> *mut ImGuiWindowSettings; +} +extern "C" { + pub fn igFindSettingsHandler(type_name: *const cty::c_char) -> *mut ImGuiSettingsHandler; +} +extern "C" { + pub fn igSetNextWindowScroll(scroll: ImVec2); +} +extern "C" { + pub fn igSetScrollXWindowPtr(window: *mut ImGuiWindow, scroll_x: f32); +} +extern "C" { + pub fn igSetScrollYWindowPtr(window: *mut ImGuiWindow, scroll_y: f32); +} +extern "C" { + pub fn igSetScrollFromPosXWindowPtr( + window: *mut ImGuiWindow, + local_x: f32, + center_x_ratio: f32, + ); +} +extern "C" { + pub fn igSetScrollFromPosYWindowPtr( + window: *mut ImGuiWindow, + local_y: f32, + center_y_ratio: f32, + ); +} +extern "C" { + pub fn igScrollToBringRectIntoView( + pOut: *mut ImVec2, + window: *mut ImGuiWindow, + item_rect: ImRect, + ); +} +extern "C" { + pub fn igGetItemID() -> ImGuiID; +} +extern "C" { + pub fn igGetItemStatusFlags() -> ImGuiItemStatusFlags; +} +extern "C" { + pub fn igGetActiveID() -> ImGuiID; +} +extern "C" { + pub fn igGetFocusID() -> ImGuiID; +} +extern "C" { + pub fn igGetItemsFlags() -> ImGuiItemFlags; +} +extern "C" { + pub fn igSetActiveID(id: ImGuiID, window: *mut ImGuiWindow); +} +extern "C" { + pub fn igSetFocusID(id: ImGuiID, window: *mut ImGuiWindow); +} +extern "C" { + pub fn igClearActiveID(); +} +extern "C" { + pub fn igGetHoveredID() -> ImGuiID; +} +extern "C" { + pub fn igSetHoveredID(id: ImGuiID); +} +extern "C" { + pub fn igKeepAliveID(id: ImGuiID); +} +extern "C" { + pub fn igMarkItemEdited(id: ImGuiID); +} +extern "C" { + pub fn igPushOverrideID(id: ImGuiID); +} +extern "C" { + pub fn igGetIDWithSeed( + str_id_begin: *const cty::c_char, + str_id_end: *const cty::c_char, + seed: ImGuiID, + ) -> ImGuiID; +} +extern "C" { + pub fn igItemSizeVec2(size: ImVec2, text_baseline_y: f32); +} +extern "C" { + pub fn igItemSizeRect(bb: ImRect, text_baseline_y: f32); +} +extern "C" { + pub fn igItemAdd(bb: ImRect, id: ImGuiID, nav_bb: *const ImRect) -> bool; +} +extern "C" { + pub fn igItemHoverable(bb: ImRect, id: ImGuiID) -> bool; +} +extern "C" { + pub fn igIsClippedEx(bb: ImRect, id: ImGuiID, clip_even_when_logged: bool) -> bool; +} +extern "C" { + pub fn igSetLastItemData( + window: *mut ImGuiWindow, + item_id: ImGuiID, + status_flags: ImGuiItemStatusFlags, + item_rect: ImRect, + ); +} +extern "C" { + pub fn igFocusableItemRegister(window: *mut ImGuiWindow, id: ImGuiID) -> bool; +} +extern "C" { + pub fn igFocusableItemUnregister(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igCalcItemSize(pOut: *mut ImVec2, size: ImVec2, default_w: f32, default_h: f32); +} +extern "C" { + pub fn igCalcWrapWidthForPos(pos: ImVec2, wrap_pos_x: f32) -> f32; +} +extern "C" { + pub fn igPushMultiItemsWidths(components: cty::c_int, width_full: f32); +} +extern "C" { + pub fn igPushItemFlag(option: ImGuiItemFlags, enabled: bool); +} +extern "C" { + pub fn igPopItemFlag(); +} +extern "C" { + pub fn igIsItemToggledSelection() -> bool; +} +extern "C" { + pub fn igGetContentRegionMaxAbs(pOut: *mut ImVec2); +} +extern "C" { + pub fn igShrinkWidths(items: *mut ImGuiShrinkWidthItem, count: cty::c_int, width_excess: f32); +} +extern "C" { + pub fn igLogBegin(type_: ImGuiLogType, auto_open_depth: cty::c_int); +} +extern "C" { + pub fn igLogToBuffer(auto_open_depth: cty::c_int); +} +extern "C" { + pub fn igLogRenderedText( + ref_pos: *const ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + ); +} +extern "C" { + pub fn igLogSetNextTextDecoration(prefix: *const cty::c_char, suffix: *const cty::c_char); +} +extern "C" { + pub fn igBeginChildEx( + name: *const cty::c_char, + id: ImGuiID, + size_arg: ImVec2, + border: bool, + flags: ImGuiWindowFlags, + ) -> bool; +} +extern "C" { + pub fn igOpenPopupEx(id: ImGuiID, popup_flags: ImGuiPopupFlags); +} +extern "C" { + pub fn igClosePopupToLevel(remaining: cty::c_int, restore_focus_to_window_under_popup: bool); +} +extern "C" { + pub fn igClosePopupsOverWindow( + ref_window: *mut ImGuiWindow, + restore_focus_to_window_under_popup: bool, + ); +} +extern "C" { + pub fn igIsPopupOpenID(id: ImGuiID, popup_flags: ImGuiPopupFlags) -> bool; +} +extern "C" { + pub fn igBeginPopupEx(id: ImGuiID, extra_flags: ImGuiWindowFlags) -> bool; +} +extern "C" { + pub fn igBeginTooltipEx(extra_flags: ImGuiWindowFlags, tooltip_flags: ImGuiTooltipFlags); +} +extern "C" { + pub fn igGetTopMostPopupModal() -> *mut ImGuiWindow; +} +extern "C" { + pub fn igFindBestWindowPosForPopup(pOut: *mut ImVec2, window: *mut ImGuiWindow); +} +extern "C" { + pub fn igFindBestWindowPosForPopupEx( + pOut: *mut ImVec2, + ref_pos: ImVec2, + size: ImVec2, + last_dir: *mut ImGuiDir, + r_outer: ImRect, + r_avoid: ImRect, + policy: ImGuiPopupPositionPolicy, + ); +} +extern "C" { + pub fn igNavInitWindow(window: *mut ImGuiWindow, force_reinit: bool); +} +extern "C" { + pub fn igNavMoveRequestButNoResultYet() -> bool; +} +extern "C" { + pub fn igNavMoveRequestCancel(); +} +extern "C" { + pub fn igNavMoveRequestForward( + move_dir: ImGuiDir, + clip_dir: ImGuiDir, + bb_rel: ImRect, + move_flags: ImGuiNavMoveFlags, + ); +} +extern "C" { + pub fn igNavMoveRequestTryWrapping(window: *mut ImGuiWindow, move_flags: ImGuiNavMoveFlags); +} +extern "C" { + pub fn igGetNavInputAmount(n: ImGuiNavInput, mode: ImGuiInputReadMode) -> f32; +} +extern "C" { + pub fn igGetNavInputAmount2d( + pOut: *mut ImVec2, + dir_sources: ImGuiNavDirSourceFlags, + mode: ImGuiInputReadMode, + slow_factor: f32, + fast_factor: f32, + ); +} +extern "C" { + pub fn igCalcTypematicRepeatAmount( + t0: f32, + t1: f32, + repeat_delay: f32, + repeat_rate: f32, + ) -> cty::c_int; +} +extern "C" { + pub fn igActivateItem(id: ImGuiID); +} +extern "C" { + pub fn igSetNavID(id: ImGuiID, nav_layer: cty::c_int, focus_scope_id: ImGuiID); +} +extern "C" { + pub fn igSetNavIDWithRectRel( + id: ImGuiID, + nav_layer: cty::c_int, + focus_scope_id: ImGuiID, + rect_rel: ImRect, + ); +} +extern "C" { + pub fn igPushFocusScope(id: ImGuiID); +} +extern "C" { + pub fn igPopFocusScope(); +} +extern "C" { + pub fn igGetFocusedFocusScope() -> ImGuiID; +} +extern "C" { + pub fn igGetFocusScope() -> ImGuiID; +} +extern "C" { + pub fn igSetItemUsingMouseWheel(); +} +extern "C" { + pub fn igIsActiveIdUsingNavDir(dir: ImGuiDir) -> bool; +} +extern "C" { + pub fn igIsActiveIdUsingNavInput(input: ImGuiNavInput) -> bool; +} +extern "C" { + pub fn igIsActiveIdUsingKey(key: ImGuiKey) -> bool; +} +extern "C" { + pub fn igIsMouseDragPastThreshold(button: ImGuiMouseButton, lock_threshold: f32) -> bool; +} +extern "C" { + pub fn igIsKeyPressedMap(key: ImGuiKey, repeat: bool) -> bool; +} +extern "C" { + pub fn igIsNavInputDown(n: ImGuiNavInput) -> bool; +} +extern "C" { + pub fn igIsNavInputTest(n: ImGuiNavInput, rm: ImGuiInputReadMode) -> bool; +} +extern "C" { + pub fn igGetMergedKeyModFlags() -> ImGuiKeyModFlags; +} +extern "C" { + pub fn igBeginDragDropTargetCustom(bb: ImRect, id: ImGuiID) -> bool; +} +extern "C" { + pub fn igClearDragDrop(); +} +extern "C" { + pub fn igIsDragDropPayloadBeingAccepted() -> bool; +} +extern "C" { + pub fn igSetWindowClipRectBeforeSetChannel(window: *mut ImGuiWindow, clip_rect: ImRect); +} +extern "C" { + pub fn igBeginColumns( + str_id: *const cty::c_char, + count: cty::c_int, + flags: ImGuiOldColumnFlags, + ); +} +extern "C" { + pub fn igEndColumns(); +} +extern "C" { + pub fn igPushColumnClipRect(column_index: cty::c_int); +} +extern "C" { + pub fn igPushColumnsBackground(); +} +extern "C" { + pub fn igPopColumnsBackground(); +} +extern "C" { + pub fn igGetColumnsID(str_id: *const cty::c_char, count: cty::c_int) -> ImGuiID; +} +extern "C" { + pub fn igFindOrCreateColumns(window: *mut ImGuiWindow, id: ImGuiID) -> *mut ImGuiOldColumns; +} +extern "C" { + pub fn igGetColumnOffsetFromNorm(columns: *const ImGuiOldColumns, offset_norm: f32) -> f32; +} +extern "C" { + pub fn igGetColumnNormFromOffset(columns: *const ImGuiOldColumns, offset: f32) -> f32; +} +extern "C" { + pub fn igTableOpenContextMenu(column_n: cty::c_int); +} +extern "C" { + pub fn igTableSetColumnEnabled(column_n: cty::c_int, enabled: bool); +} +extern "C" { + pub fn igTableSetColumnWidth(column_n: cty::c_int, width: f32); +} +extern "C" { + pub fn igTableSetColumnSortDirection( + column_n: cty::c_int, + sort_direction: ImGuiSortDirection, + append_to_sort_specs: bool, + ); +} +extern "C" { + pub fn igTableGetHoveredColumn() -> cty::c_int; +} +extern "C" { + pub fn igTableGetHeaderRowHeight() -> f32; +} +extern "C" { + pub fn igTablePushBackgroundChannel(); +} +extern "C" { + pub fn igTablePopBackgroundChannel(); +} +extern "C" { + pub fn igTableFindByID(id: ImGuiID) -> *mut ImGuiTable; +} +extern "C" { + pub fn igBeginTableEx( + name: *const cty::c_char, + id: ImGuiID, + columns_count: cty::c_int, + flags: ImGuiTableFlags, + outer_size: ImVec2, + inner_width: f32, + ) -> bool; +} +extern "C" { + pub fn igTableBeginInitMemory(table: *mut ImGuiTable, columns_count: cty::c_int); +} +extern "C" { + pub fn igTableBeginApplyRequests(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableSetupDrawChannels(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableUpdateLayout(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableUpdateBorders(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableUpdateColumnsWeightFromWidth(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableDrawBorders(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableDrawContextMenu(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableMergeDrawChannels(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableSortSpecsSanitize(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableSortSpecsBuild(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableGetColumnNextSortDirection(column: *mut ImGuiTableColumn) -> ImGuiSortDirection; +} +extern "C" { + pub fn igTableFixColumnSortDirection(table: *mut ImGuiTable, column: *mut ImGuiTableColumn); +} +extern "C" { + pub fn igTableGetColumnWidthAuto(table: *mut ImGuiTable, column: *mut ImGuiTableColumn) -> f32; +} +extern "C" { + pub fn igTableBeginRow(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableEndRow(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableBeginCell(table: *mut ImGuiTable, column_n: cty::c_int); +} +extern "C" { + pub fn igTableEndCell(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableGetCellBgRect(pOut: *mut ImRect, table: *const ImGuiTable, column_n: cty::c_int); +} +extern "C" { + pub fn igTableGetColumnNameTablePtr( + table: *const ImGuiTable, + column_n: cty::c_int, + ) -> *const cty::c_char; +} +extern "C" { + pub fn igTableGetColumnResizeID( + table: *const ImGuiTable, + column_n: cty::c_int, + instance_no: cty::c_int, + ) -> ImGuiID; +} +extern "C" { + pub fn igTableGetMaxColumnWidth(table: *const ImGuiTable, column_n: cty::c_int) -> f32; +} +extern "C" { + pub fn igTableSetColumnWidthAutoSingle(table: *mut ImGuiTable, column_n: cty::c_int); +} +extern "C" { + pub fn igTableSetColumnWidthAutoAll(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableRemove(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableGcCompactTransientBuffers(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableGcCompactSettings(); +} +extern "C" { + pub fn igTableLoadSettings(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableSaveSettings(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableResetSettings(table: *mut ImGuiTable); +} +extern "C" { + pub fn igTableGetBoundSettings(table: *mut ImGuiTable) -> *mut ImGuiTableSettings; +} +extern "C" { + pub fn igTableSettingsInstallHandler(context: *mut ImGuiContext); +} +extern "C" { + pub fn igTableSettingsCreate(id: ImGuiID, columns_count: cty::c_int) + -> *mut ImGuiTableSettings; +} +extern "C" { + pub fn igTableSettingsFindByID(id: ImGuiID) -> *mut ImGuiTableSettings; +} +extern "C" { + pub fn igBeginTabBarEx(tab_bar: *mut ImGuiTabBar, bb: ImRect, flags: ImGuiTabBarFlags) -> bool; +} +extern "C" { + pub fn igTabBarFindTabByID(tab_bar: *mut ImGuiTabBar, tab_id: ImGuiID) -> *mut ImGuiTabItem; +} +extern "C" { + pub fn igTabBarRemoveTab(tab_bar: *mut ImGuiTabBar, tab_id: ImGuiID); +} +extern "C" { + pub fn igTabBarCloseTab(tab_bar: *mut ImGuiTabBar, tab: *mut ImGuiTabItem); +} +extern "C" { + pub fn igTabBarQueueReorder( + tab_bar: *mut ImGuiTabBar, + tab: *const ImGuiTabItem, + dir: cty::c_int, + ); +} +extern "C" { + pub fn igTabBarProcessReorder(tab_bar: *mut ImGuiTabBar) -> bool; +} +extern "C" { + pub fn igTabItemEx( + tab_bar: *mut ImGuiTabBar, + label: *const cty::c_char, + p_open: *mut bool, + flags: ImGuiTabItemFlags, + ) -> bool; +} +extern "C" { + pub fn igTabItemCalcSize(pOut: *mut ImVec2, label: *const cty::c_char, has_close_button: bool); +} +extern "C" { + pub fn igTabItemBackground( + draw_list: *mut ImDrawList, + bb: ImRect, + flags: ImGuiTabItemFlags, + col: ImU32, + ); +} +extern "C" { + pub fn igTabItemLabelAndCloseButton( + draw_list: *mut ImDrawList, + bb: ImRect, + flags: ImGuiTabItemFlags, + frame_padding: ImVec2, + label: *const cty::c_char, + tab_id: ImGuiID, + close_button_id: ImGuiID, + is_contents_visible: bool, + out_just_closed: *mut bool, + out_text_clipped: *mut bool, + ); +} +extern "C" { + pub fn igRenderText( + pos: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + hide_text_after_hash: bool, + ); +} +extern "C" { + pub fn igRenderTextWrapped( + pos: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + wrap_width: f32, + ); +} +extern "C" { + pub fn igRenderTextClipped( + pos_min: ImVec2, + pos_max: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + text_size_if_known: *const ImVec2, + align: ImVec2, + clip_rect: *const ImRect, + ); +} +extern "C" { + pub fn igRenderTextClippedEx( + draw_list: *mut ImDrawList, + pos_min: ImVec2, + pos_max: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + text_size_if_known: *const ImVec2, + align: ImVec2, + clip_rect: *const ImRect, + ); +} +extern "C" { + pub fn igRenderTextEllipsis( + draw_list: *mut ImDrawList, + pos_min: ImVec2, + pos_max: ImVec2, + clip_max_x: f32, + ellipsis_max_x: f32, + text: *const cty::c_char, + text_end: *const cty::c_char, + text_size_if_known: *const ImVec2, + ); +} +extern "C" { + pub fn igRenderFrame( + p_min: ImVec2, + p_max: ImVec2, + fill_col: ImU32, + border: bool, + rounding: f32, + ); +} +extern "C" { + pub fn igRenderFrameBorder(p_min: ImVec2, p_max: ImVec2, rounding: f32); +} +extern "C" { + pub fn igRenderColorRectWithAlphaCheckerboard( + draw_list: *mut ImDrawList, + p_min: ImVec2, + p_max: ImVec2, + fill_col: ImU32, + grid_step: f32, + grid_off: ImVec2, + rounding: f32, + rounding_corners_flags: cty::c_int, + ); +} +extern "C" { + pub fn igRenderNavHighlight(bb: ImRect, id: ImGuiID, flags: ImGuiNavHighlightFlags); +} +extern "C" { + pub fn igFindRenderedTextEnd( + text: *const cty::c_char, + text_end: *const cty::c_char, + ) -> *const cty::c_char; +} +extern "C" { + pub fn igRenderArrow( + draw_list: *mut ImDrawList, + pos: ImVec2, + col: ImU32, + dir: ImGuiDir, + scale: f32, + ); +} +extern "C" { + pub fn igRenderBullet(draw_list: *mut ImDrawList, pos: ImVec2, col: ImU32); +} +extern "C" { + pub fn igRenderCheckMark(draw_list: *mut ImDrawList, pos: ImVec2, col: ImU32, sz: f32); +} +extern "C" { + pub fn igRenderMouseCursor( + draw_list: *mut ImDrawList, + pos: ImVec2, + scale: f32, + mouse_cursor: ImGuiMouseCursor, + col_fill: ImU32, + col_border: ImU32, + col_shadow: ImU32, + ); +} +extern "C" { + pub fn igRenderArrowPointingAt( + draw_list: *mut ImDrawList, + pos: ImVec2, + half_sz: ImVec2, + direction: ImGuiDir, + col: ImU32, + ); +} +extern "C" { + pub fn igRenderRectFilledRangeH( + draw_list: *mut ImDrawList, + rect: ImRect, + col: ImU32, + x_start_norm: f32, + x_end_norm: f32, + rounding: f32, + ); +} +extern "C" { + pub fn igRenderRectFilledWithHole( + draw_list: *mut ImDrawList, + outer: ImRect, + inner: ImRect, + col: ImU32, + rounding: f32, + ); +} +extern "C" { + pub fn igTextEx(text: *const cty::c_char, text_end: *const cty::c_char, flags: ImGuiTextFlags); +} +extern "C" { + pub fn igButtonEx(label: *const cty::c_char, size_arg: ImVec2, flags: ImGuiButtonFlags) + -> bool; +} +extern "C" { + pub fn igCloseButton(id: ImGuiID, pos: ImVec2) -> bool; +} +extern "C" { + pub fn igCollapseButton(id: ImGuiID, pos: ImVec2) -> bool; +} +extern "C" { + pub fn igArrowButtonEx( + str_id: *const cty::c_char, + dir: ImGuiDir, + size_arg: ImVec2, + flags: ImGuiButtonFlags, + ) -> bool; +} +extern "C" { + pub fn igScrollbar(axis: ImGuiAxis); +} +extern "C" { + pub fn igScrollbarEx( + bb: ImRect, + id: ImGuiID, + axis: ImGuiAxis, + p_scroll_v: *mut f32, + avail_v: f32, + contents_v: f32, + rounding_corners: ImDrawCornerFlags, + ) -> bool; +} +extern "C" { + pub fn igImageButtonEx( + id: ImGuiID, + texture_id: ImTextureID, + size: ImVec2, + uv0: ImVec2, + uv1: ImVec2, + padding: ImVec2, + bg_col: ImVec4, + tint_col: ImVec4, + ) -> bool; +} +extern "C" { + pub fn igGetWindowScrollbarRect(pOut: *mut ImRect, window: *mut ImGuiWindow, axis: ImGuiAxis); +} +extern "C" { + pub fn igGetWindowScrollbarID(window: *mut ImGuiWindow, axis: ImGuiAxis) -> ImGuiID; +} +extern "C" { + pub fn igGetWindowResizeID(window: *mut ImGuiWindow, n: cty::c_int) -> ImGuiID; +} +extern "C" { + pub fn igSeparatorEx(flags: ImGuiSeparatorFlags); +} +extern "C" { + pub fn igCheckboxFlagsS64Ptr( + label: *const cty::c_char, + flags: *mut ImS64, + flags_value: ImS64, + ) -> bool; +} +extern "C" { + pub fn igCheckboxFlagsU64Ptr( + label: *const cty::c_char, + flags: *mut ImU64, + flags_value: ImU64, + ) -> bool; +} +extern "C" { + pub fn igButtonBehavior( + bb: ImRect, + id: ImGuiID, + out_hovered: *mut bool, + out_held: *mut bool, + flags: ImGuiButtonFlags, + ) -> bool; +} +extern "C" { + pub fn igDragBehavior( + id: ImGuiID, + data_type: ImGuiDataType, + p_v: *mut cty::c_void, + v_speed: f32, + p_min: *const cty::c_void, + p_max: *const cty::c_void, + format: *const cty::c_char, + flags: ImGuiSliderFlags, + ) -> bool; +} +extern "C" { + pub fn igSliderBehavior( + bb: ImRect, + id: ImGuiID, + data_type: ImGuiDataType, + p_v: *mut cty::c_void, + p_min: *const cty::c_void, + p_max: *const cty::c_void, + format: *const cty::c_char, + flags: ImGuiSliderFlags, + out_grab_bb: *mut ImRect, + ) -> bool; +} +extern "C" { + pub fn igSplitterBehavior( + bb: ImRect, + id: ImGuiID, + axis: ImGuiAxis, + size1: *mut f32, + size2: *mut f32, + min_size1: f32, + min_size2: f32, + hover_extend: f32, + hover_visibility_delay: f32, + ) -> bool; +} +extern "C" { + pub fn igTreeNodeBehavior( + id: ImGuiID, + flags: ImGuiTreeNodeFlags, + label: *const cty::c_char, + label_end: *const cty::c_char, + ) -> bool; +} +extern "C" { + pub fn igTreeNodeBehaviorIsOpen(id: ImGuiID, flags: ImGuiTreeNodeFlags) -> bool; +} +extern "C" { + pub fn igTreePushOverrideID(id: ImGuiID); +} +extern "C" { + pub fn igDataTypeGetInfo(data_type: ImGuiDataType) -> *const ImGuiDataTypeInfo; +} +extern "C" { + pub fn igDataTypeFormatString( + buf: *mut cty::c_char, + buf_size: cty::c_int, + data_type: ImGuiDataType, + p_data: *const cty::c_void, + format: *const cty::c_char, + ) -> cty::c_int; +} +extern "C" { + pub fn igDataTypeApplyOp( + data_type: ImGuiDataType, + op: cty::c_int, + output: *mut cty::c_void, + arg_1: *const cty::c_void, + arg_2: *const cty::c_void, + ); +} +extern "C" { + pub fn igDataTypeApplyOpFromText( + buf: *const cty::c_char, + initial_value_buf: *const cty::c_char, + data_type: ImGuiDataType, + p_data: *mut cty::c_void, + format: *const cty::c_char, + ) -> bool; +} +extern "C" { + pub fn igDataTypeCompare( + data_type: ImGuiDataType, + arg_1: *const cty::c_void, + arg_2: *const cty::c_void, + ) -> cty::c_int; +} +extern "C" { + pub fn igDataTypeClamp( + data_type: ImGuiDataType, + p_data: *mut cty::c_void, + p_min: *const cty::c_void, + p_max: *const cty::c_void, + ) -> bool; +} +extern "C" { + pub fn igInputTextEx( + label: *const cty::c_char, + hint: *const cty::c_char, + buf: *mut cty::c_char, + buf_size: cty::c_int, + size_arg: ImVec2, + flags: ImGuiInputTextFlags, + callback: ImGuiInputTextCallback, + user_data: *mut cty::c_void, + ) -> bool; +} +extern "C" { + pub fn igTempInputText( + bb: ImRect, + id: ImGuiID, + label: *const cty::c_char, + buf: *mut cty::c_char, + buf_size: cty::c_int, + flags: ImGuiInputTextFlags, + ) -> bool; +} +extern "C" { + pub fn igTempInputScalar( + bb: ImRect, + id: ImGuiID, + label: *const cty::c_char, + data_type: ImGuiDataType, + p_data: *mut cty::c_void, + format: *const cty::c_char, + p_clamp_min: *const cty::c_void, + p_clamp_max: *const cty::c_void, + ) -> bool; +} +extern "C" { + pub fn igTempInputIsActive(id: ImGuiID) -> bool; +} +extern "C" { + pub fn igGetInputTextState(id: ImGuiID) -> *mut ImGuiInputTextState; +} +extern "C" { + pub fn igColorTooltip(text: *const cty::c_char, col: *const f32, flags: ImGuiColorEditFlags); +} +extern "C" { + pub fn igColorEditOptionsPopup(col: *const f32, flags: ImGuiColorEditFlags); +} +extern "C" { + pub fn igColorPickerOptionsPopup(ref_col: *const f32, flags: ImGuiColorEditFlags); +} +extern "C" { + pub fn igPlotEx( + plot_type: ImGuiPlotType, + label: *const cty::c_char, + values_getter: ::core::option::Option< + unsafe extern "C" fn(data: *mut cty::c_void, idx: cty::c_int) -> f32, + >, + data: *mut cty::c_void, + values_count: cty::c_int, + values_offset: cty::c_int, + overlay_text: *const cty::c_char, + scale_min: f32, + scale_max: f32, + frame_size: ImVec2, + ) -> cty::c_int; +} +extern "C" { + pub fn igShadeVertsLinearColorGradientKeepAlpha( + draw_list: *mut ImDrawList, + vert_start_idx: cty::c_int, + vert_end_idx: cty::c_int, + gradient_p0: ImVec2, + gradient_p1: ImVec2, + col0: ImU32, + col1: ImU32, + ); +} +extern "C" { + pub fn igShadeVertsLinearUV( + draw_list: *mut ImDrawList, + vert_start_idx: cty::c_int, + vert_end_idx: cty::c_int, + a: ImVec2, + b: ImVec2, + uv_a: ImVec2, + uv_b: ImVec2, + clamp: bool, + ); +} +extern "C" { + pub fn igGcCompactTransientMiscBuffers(); +} +extern "C" { + pub fn igGcCompactTransientWindowBuffers(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igGcAwakeTransientWindowBuffers(window: *mut ImGuiWindow); +} +extern "C" { + pub fn igErrorCheckEndFrameRecover( + log_callback: ImGuiErrorLogCallback, + user_data: *mut cty::c_void, + ); +} +extern "C" { + pub fn igDebugDrawItemRect(col: ImU32); +} +extern "C" { + pub fn igDebugStartItemPicker(); +} +extern "C" { + pub fn igDebugNodeColumns(columns: *mut ImGuiOldColumns); +} +extern "C" { + pub fn igDebugNodeDrawList( + window: *mut ImGuiWindow, + draw_list: *const ImDrawList, + label: *const cty::c_char, + ); +} +extern "C" { + pub fn igDebugNodeDrawCmdShowMeshAndBoundingBox( + out_draw_list: *mut ImDrawList, + draw_list: *const ImDrawList, + draw_cmd: *const ImDrawCmd, + show_mesh: bool, + show_aabb: bool, + ); +} +extern "C" { + pub fn igDebugNodeStorage(storage: *mut ImGuiStorage, label: *const cty::c_char); +} +extern "C" { + pub fn igDebugNodeTabBar(tab_bar: *mut ImGuiTabBar, label: *const cty::c_char); +} +extern "C" { + pub fn igDebugNodeTable(table: *mut ImGuiTable); +} +extern "C" { + pub fn igDebugNodeTableSettings(settings: *mut ImGuiTableSettings); +} +extern "C" { + pub fn igDebugNodeWindow(window: *mut ImGuiWindow, label: *const cty::c_char); +} +extern "C" { + pub fn igDebugNodeWindowSettings(settings: *mut ImGuiWindowSettings); +} +extern "C" { + pub fn igDebugNodeWindowsList(windows: *mut ImVector_ImGuiWindowPtr, label: *const cty::c_char); +} +extern "C" { + pub fn igDebugNodeViewport(viewport: *mut ImGuiViewportP); +} +extern "C" { + pub fn igDebugRenderViewportThumbnail( + draw_list: *mut ImDrawList, + viewport: *mut ImGuiViewportP, + bb: ImRect, + ); +} +extern "C" { + pub fn igImFontAtlasGetBuilderForStbTruetype() -> *const ImFontBuilderIO; +} +extern "C" { + pub fn igImFontAtlasBuildInit(atlas: *mut ImFontAtlas); +} +extern "C" { + pub fn igImFontAtlasBuildSetupFont( + atlas: *mut ImFontAtlas, + font: *mut ImFont, + font_config: *mut ImFontConfig, + ascent: f32, + descent: f32, + ); +} +extern "C" { + pub fn igImFontAtlasBuildPackCustomRects( + atlas: *mut ImFontAtlas, + stbrp_context_opaque: *mut cty::c_void, + ); +} +extern "C" { + pub fn igImFontAtlasBuildFinish(atlas: *mut ImFontAtlas); +} +extern "C" { + pub fn igImFontAtlasBuildRender8bppRectFromString( + atlas: *mut ImFontAtlas, + x: cty::c_int, + y: cty::c_int, + w: cty::c_int, + h: cty::c_int, + in_str: *const cty::c_char, + in_marker_char: cty::c_char, + in_marker_pixel_value: cty::c_uchar, + ); +} +extern "C" { + pub fn igImFontAtlasBuildRender32bppRectFromString( + atlas: *mut ImFontAtlas, + x: cty::c_int, + y: cty::c_int, + w: cty::c_int, + h: cty::c_int, + in_str: *const cty::c_char, + in_marker_char: cty::c_char, + in_marker_pixel_value: cty::c_uint, + ); +} +extern "C" { + pub fn igImFontAtlasBuildMultiplyCalcLookupTable( + out_table: *mut cty::c_uchar, + in_multiply_factor: f32, + ); +} +extern "C" { + pub fn igImFontAtlasBuildMultiplyRectAlpha8( + table: *const cty::c_uchar, + pixels: *mut cty::c_uchar, + x: cty::c_int, + y: cty::c_int, + w: cty::c_int, + h: cty::c_int, + stride: cty::c_int, + ); +} extern "C" { pub fn igLogText(fmt: *const cty::c_char, ...); } diff --git a/imgui-sys/src/wasm_bindings.rs b/imgui-sys/src/wasm_bindings.rs index 5282fa7..80d11e3 100644 --- a/imgui-sys/src/wasm_bindings.rs +++ b/imgui-sys/src/wasm_bindings.rs @@ -83,21 +83,71 @@ where } } } +pub type __int64_t = cty::c_long; +pub type __uint64_t = cty::c_ulong; +pub type __off_t = cty::c_long; +pub type __off64_t = cty::c_long; +pub type FILE = _IO_FILE; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct ImGuiContext { +pub struct _IO_marker { _unused: [u8; 0], } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct ImDrawListSharedData { +pub struct _IO_codecvt { _unused: [u8; 0], } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_wide_data { + _unused: [u8; 0], +} +pub type _IO_lock_t = cty::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct _IO_FILE { + pub _flags: cty::c_int, + pub _IO_read_ptr: *mut cty::c_char, + pub _IO_read_end: *mut cty::c_char, + pub _IO_read_base: *mut cty::c_char, + pub _IO_write_base: *mut cty::c_char, + pub _IO_write_ptr: *mut cty::c_char, + pub _IO_write_end: *mut cty::c_char, + pub _IO_buf_base: *mut cty::c_char, + pub _IO_buf_end: *mut cty::c_char, + pub _IO_save_base: *mut cty::c_char, + pub _IO_backup_base: *mut cty::c_char, + pub _IO_save_end: *mut cty::c_char, + pub _markers: *mut _IO_marker, + pub _chain: *mut _IO_FILE, + pub _fileno: cty::c_int, + pub _flags2: cty::c_int, + pub _old_offset: __off_t, + pub _cur_column: cty::c_ushort, + pub _vtable_offset: cty::c_schar, + pub _shortbuf: [cty::c_char; 1usize], + pub _lock: *mut _IO_lock_t, + pub _offset: __off64_t, + pub _codecvt: *mut _IO_codecvt, + pub _wide_data: *mut _IO_wide_data, + pub _freeres_list: *mut _IO_FILE, + pub _freeres_buf: *mut cty::c_void, + pub __pad5: usize, + pub _mode: cty::c_int, + pub _unused2: [cty::c_char; 20usize], +} +impl Default for _IO_FILE { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} pub type ImGuiCol = cty::c_int; pub type ImGuiCond = cty::c_int; pub type ImGuiDataType = cty::c_int; pub type ImGuiDir = cty::c_int; pub type ImGuiKey = cty::c_int; +pub type ImGuiNavInput = cty::c_int; pub type ImGuiMouseButton = cty::c_int; pub type ImGuiMouseCursor = cty::c_int; pub type ImGuiSortDirection = cty::c_int; @@ -125,6 +175,7 @@ pub type ImGuiTableFlags = cty::c_int; pub type ImGuiTableColumnFlags = cty::c_int; pub type ImGuiTableRowFlags = cty::c_int; pub type ImGuiTreeNodeFlags = cty::c_int; +pub type ImGuiViewportFlags = cty::c_int; pub type ImGuiWindowFlags = cty::c_int; pub type ImTextureID = *mut cty::c_void; pub type ImGuiID = cty::c_uint; @@ -135,13 +186,115 @@ pub type ImGuiSizeCallback = ::core::option::Option; pub type ImWchar16 = cty::c_ushort; pub type ImWchar = ImWchar16; +pub type ImS8 = cty::c_schar; pub type ImU8 = cty::c_uchar; pub type ImS16 = cty::c_short; pub type ImU32 = cty::c_uint; +pub type ImS64 = i64; +pub type ImU64 = u64; pub type ImDrawCallback = ::core::option::Option< unsafe extern "C" fn(parent_list: *const ImDrawList, cmd: *const ImDrawCmd), >; pub type ImDrawIdx = cty::c_ushort; +pub type ImGuiLayoutType = cty::c_int; +pub type ImGuiItemFlags = cty::c_int; +pub type ImGuiItemStatusFlags = cty::c_int; +pub type ImGuiOldColumnFlags = cty::c_int; +pub type ImGuiNavHighlightFlags = cty::c_int; +pub type ImGuiNavDirSourceFlags = cty::c_int; +pub type ImGuiNavMoveFlags = cty::c_int; +pub type ImGuiNextItemDataFlags = cty::c_int; +pub type ImGuiNextWindowDataFlags = cty::c_int; +pub type ImGuiSeparatorFlags = cty::c_int; +pub type ImGuiTextFlags = cty::c_int; +pub type ImGuiTooltipFlags = cty::c_int; +pub type ImGuiErrorLogCallback = ::core::option::Option< + unsafe extern "C" fn(user_data: *mut cty::c_void, fmt: *const cty::c_char, ...), +>; +pub type ImFileHandle = *mut FILE; +pub type ImPoolIdx = cty::c_int; +pub type ImGuiContextHookCallback = ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, hook: *mut ImGuiContextHook), +>; +pub type ImGuiTableColumnIdx = ImS8; +pub type ImGuiTableDrawChannelIdx = ImU8; +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTableSettings { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTableSettings, +} +impl Default for ImVector_ImGuiTableSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImChunkStream_ImGuiTableSettings { + pub Buf: ImVector_ImGuiTableSettings, +} +impl Default for ImChunkStream_ImGuiTableSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiWindowSettings { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiWindowSettings, +} +impl Default for ImVector_ImGuiWindowSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImChunkStream_ImGuiWindowSettings { + pub Buf: ImVector_ImGuiWindowSettings, +} +impl Default for ImChunkStream_ImGuiWindowSettings { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImSpan_ImGuiTableCellData { + pub Data: *mut ImGuiTableCellData, + pub DataEnd: *mut ImGuiTableCellData, +} +impl Default for ImSpan_ImGuiTableCellData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImSpan_ImGuiTableColumn { + pub Data: *mut ImGuiTableColumn, + pub DataEnd: *mut ImGuiTableColumn, +} +impl Default for ImSpan_ImGuiTableColumn { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImSpan_ImGuiTableColumnIdx { + pub Data: *mut ImGuiTableColumnIdx, + pub DataEnd: *mut ImGuiTableColumnIdx, +} +impl Default for ImSpan_ImGuiTableColumnIdx { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImDrawChannel { @@ -180,6 +333,18 @@ impl Default for ImVector_ImDrawIdx { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImDrawListPtr { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut *mut ImDrawList, +} +impl Default for ImVector_ImDrawListPtr { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImDrawVert { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -240,6 +405,138 @@ impl Default for ImVector_ImFontGlyph { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiColorMod { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiColorMod, +} +impl Default for ImVector_ImGuiColorMod { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiContextHook { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiContextHook, +} +impl Default for ImVector_ImGuiContextHook { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiGroupData { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiGroupData, +} +impl Default for ImVector_ImGuiGroupData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiID { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiID, +} +impl Default for ImVector_ImGuiID { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiItemFlags { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiItemFlags, +} +impl Default for ImVector_ImGuiItemFlags { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiOldColumnData { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiOldColumnData, +} +impl Default for ImVector_ImGuiOldColumnData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiOldColumns { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiOldColumns, +} +impl Default for ImVector_ImGuiOldColumns { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiPopupData { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiPopupData, +} +impl Default for ImVector_ImGuiPopupData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiPtrOrIndex { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiPtrOrIndex, +} +impl Default for ImVector_ImGuiPtrOrIndex { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiSettingsHandler { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiSettingsHandler, +} +impl Default for ImVector_ImGuiSettingsHandler { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiShrinkWidthItem { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiShrinkWidthItem, +} +impl Default for ImVector_ImGuiShrinkWidthItem { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImGuiStoragePair { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -252,6 +549,42 @@ impl Default for ImVector_ImGuiStoragePair { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiStyleMod { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiStyleMod, +} +impl Default for ImVector_ImGuiStyleMod { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTabItem { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTabItem, +} +impl Default for ImVector_ImGuiTabItem { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTableColumnSortSpecs { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTableColumnSortSpecs, +} +impl Default for ImVector_ImGuiTableColumnSortSpecs { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImGuiTextRange { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -264,6 +597,30 @@ impl Default for ImVector_ImGuiTextRange { } #[repr(C)] #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiViewportPPtr { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut *mut ImGuiViewportP, +} +impl Default for ImVector_ImGuiViewportPPtr { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiWindowPtr { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut *mut ImGuiWindow, +} +impl Default for ImVector_ImGuiWindowPtr { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] pub struct ImVector_ImTextureID { pub Size: cty::c_int, pub Capacity: cty::c_int, @@ -347,6 +704,18 @@ impl Default for ImVector_float { } } #[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_unsigned_char { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut cty::c_uchar, +} +impl Default for ImVector_unsigned_char { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct ImVec2 { pub x: f32, @@ -1175,6 +1544,54 @@ impl Default for ImGuiStorage { } } #[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTabBar { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTabBar, +} +impl Default for ImVector_ImGuiTabBar { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImPool_ImGuiTabBar { + pub Buf: ImVector_ImGuiTabBar, + pub Map: ImGuiStorage, + pub FreeIdx: ImPoolIdx, +} +impl Default for ImPool_ImGuiTabBar { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVector_ImGuiTable { + pub Size: cty::c_int, + pub Capacity: cty::c_int, + pub Data: *mut ImGuiTable, +} +impl Default for ImVector_ImGuiTable { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImPool_ImGuiTable { + pub Buf: ImVector_ImGuiTable, + pub Map: ImGuiStorage, + pub FreeIdx: ImPoolIdx, +} +impl Default for ImPool_ImGuiTable { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct ImGuiListClipper { pub DisplayStart: cty::c_int, @@ -1293,10 +1710,10 @@ impl Default for ImDrawList { #[derive(Debug, Copy, Clone, PartialEq)] pub struct ImDrawData { pub Valid: bool, - pub CmdLists: *mut *mut ImDrawList, pub CmdListsCount: cty::c_int, pub TotalIdxCount: cty::c_int, pub TotalVtxCount: cty::c_int, + pub CmdLists: *mut *mut ImDrawList, pub DisplayPos: ImVec2, pub DisplaySize: ImVec2, pub FramebufferScale: ImVec2, @@ -1323,7 +1740,7 @@ pub struct ImFontConfig { pub GlyphMinAdvanceX: f32, pub GlyphMaxAdvanceX: f32, pub MergeMode: bool, - pub RasterizerFlags: cty::c_uint, + pub FontBuilderFlags: cty::c_uint, pub RasterizerMultiply: f32, pub EllipsisChar: ImWchar, pub Name: [cty::c_char; 40usize], @@ -1336,7 +1753,7 @@ impl Default for ImFontConfig { } impl ::core::fmt::Debug for ImFontConfig { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - write ! (f , "ImFontConfig {{ FontData: {:?}, FontDataSize: {:?}, FontDataOwnedByAtlas: {:?}, FontNo: {:?}, SizePixels: {:?}, OversampleH: {:?}, OversampleV: {:?}, PixelSnapH: {:?}, GlyphExtraSpacing: {:?}, GlyphOffset: {:?}, GlyphRanges: {:?}, GlyphMinAdvanceX: {:?}, GlyphMaxAdvanceX: {:?}, MergeMode: {:?}, RasterizerFlags: {:?}, RasterizerMultiply: {:?}, EllipsisChar: {:?}, Name: [...], DstFont: {:?} }}" , self . FontData , self . FontDataSize , self . FontDataOwnedByAtlas , self . FontNo , self . SizePixels , self . OversampleH , self . OversampleV , self . PixelSnapH , self . GlyphExtraSpacing , self . GlyphOffset , self . GlyphRanges , self . GlyphMinAdvanceX , self . GlyphMaxAdvanceX , self . MergeMode , self . RasterizerFlags , self . RasterizerMultiply , self . EllipsisChar , self . DstFont) + write ! (f , "ImFontConfig {{ FontData: {:?}, FontDataSize: {:?}, FontDataOwnedByAtlas: {:?}, FontNo: {:?}, SizePixels: {:?}, OversampleH: {:?}, OversampleV: {:?}, PixelSnapH: {:?}, GlyphExtraSpacing: {:?}, GlyphOffset: {:?}, GlyphRanges: {:?}, GlyphMinAdvanceX: {:?}, GlyphMaxAdvanceX: {:?}, MergeMode: {:?}, FontBuilderFlags: {:?}, RasterizerMultiply: {:?}, EllipsisChar: {:?}, Name: [...], DstFont: {:?} }}" , self . FontData , self . FontDataSize , self . FontDataOwnedByAtlas , self . FontNo , self . SizePixels , self . OversampleH , self . OversampleV , self . PixelSnapH , self . GlyphExtraSpacing , self . GlyphOffset , self . GlyphRanges , self . GlyphMinAdvanceX , self . GlyphMaxAdvanceX , self . MergeMode , self . FontBuilderFlags , self . RasterizerMultiply , self . EllipsisChar , self . DstFont) } } #[repr(C)] @@ -1355,42 +1772,58 @@ pub struct ImFontGlyph { } impl ImFontGlyph { #[inline] - pub fn Codepoint(&self) -> cty::c_uint { - unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 31u8) as u32) } + pub fn Colored(&self) -> cty::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } } #[inline] - pub fn set_Codepoint(&mut self, val: cty::c_uint) { + pub fn set_Colored(&mut self, val: cty::c_uint) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(0usize, 31u8, val as u64) + self._bitfield_1.set(0usize, 1u8, val as u64) } } #[inline] pub fn Visible(&self) -> cty::c_uint { - unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } } #[inline] pub fn set_Visible(&mut self, val: cty::c_uint) { unsafe { let val: u32 = ::core::mem::transmute(val); - self._bitfield_1.set(31usize, 1u8, val as u64) + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Codepoint(&self) -> cty::c_uint { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Codepoint(&mut self, val: cty::c_uint) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) } } #[inline] pub fn new_bitfield_1( - Codepoint: cty::c_uint, + Colored: cty::c_uint, Visible: cty::c_uint, + Codepoint: cty::c_uint, ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> = Default::default(); - __bindgen_bitfield_unit.set(0usize, 31u8, { - let Codepoint: u32 = unsafe { ::core::mem::transmute(Codepoint) }; - Codepoint as u64 + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Colored: u32 = unsafe { ::core::mem::transmute(Colored) }; + Colored as u64 }); - __bindgen_bitfield_unit.set(31usize, 1u8, { + __bindgen_bitfield_unit.set(1usize, 1u8, { let Visible: u32 = unsafe { ::core::mem::transmute(Visible) }; Visible as u64 }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Codepoint: u32 = unsafe { ::core::mem::transmute(Codepoint) }; + Codepoint as u64 + }); __bindgen_bitfield_unit } } @@ -1444,6 +1877,8 @@ pub struct ImFontAtlas { pub CustomRects: ImVector_ImFontAtlasCustomRect, pub ConfigData: ImVector_ImFontConfig, pub TexUvLines: [ImVec4; 64usize], + pub FontBuilderIO: *const ImFontBuilderIO, + pub FontBuilderFlags: cty::c_uint, pub PackIdMouseCursors: cty::c_int, pub PackIdLines: cty::c_int, } @@ -1454,7 +1889,7 @@ impl Default for ImFontAtlas { } impl ::core::fmt::Debug for ImFontAtlas { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - write ! (f , "ImFontAtlas {{ Locked: {:?}, Flags: {:?}, TexID: {:?}, TexDesiredWidth: {:?}, TexGlyphPadding: {:?}, TexPixelsAlpha8: {:?}, TexPixelsRGBA32: {:?}, TexWidth: {:?}, TexHeight: {:?}, TexUvScale: {:?}, TexUvWhitePixel: {:?}, Fonts: {:?}, CustomRects: {:?}, ConfigData: {:?}, TexUvLines: [...], PackIdMouseCursors: {:?}, PackIdLines: {:?} }}" , self . Locked , self . Flags , self . TexID , self . TexDesiredWidth , self . TexGlyphPadding , self . TexPixelsAlpha8 , self . TexPixelsRGBA32 , self . TexWidth , self . TexHeight , self . TexUvScale , self . TexUvWhitePixel , self . Fonts , self . CustomRects , self . ConfigData , self . PackIdMouseCursors , self . PackIdLines) + write ! (f , "ImFontAtlas {{ Locked: {:?}, Flags: {:?}, TexID: {:?}, TexDesiredWidth: {:?}, TexGlyphPadding: {:?}, TexPixelsAlpha8: {:?}, TexPixelsRGBA32: {:?}, TexWidth: {:?}, TexHeight: {:?}, TexUvScale: {:?}, TexUvWhitePixel: {:?}, Fonts: {:?}, CustomRects: {:?}, ConfigData: {:?}, TexUvLines: [...], FontBuilderIO: {:?}, FontBuilderFlags: {:?}, PackIdMouseCursors: {:?}, PackIdLines: {:?} }}" , self . Locked , self . Flags , self . TexID , self . TexDesiredWidth , self . TexGlyphPadding , self . TexPixelsAlpha8 , self . TexPixelsRGBA32 , self . TexWidth , self . TexHeight , self . TexUvScale , self . TexUvWhitePixel , self . Fonts , self . CustomRects , self . ConfigData , self . FontBuilderIO , self . FontBuilderFlags , self . PackIdMouseCursors , self . PackIdLines) } } #[repr(C)] @@ -1483,6 +1918,1479 @@ impl Default for ImFont { unsafe { ::core::mem::zeroed() } } } +pub const ImGuiViewportFlags_None: ImGuiViewportFlags_ = 0; +pub const ImGuiViewportFlags_IsPlatformWindow: ImGuiViewportFlags_ = 1; +pub const ImGuiViewportFlags_IsPlatformMonitor: ImGuiViewportFlags_ = 2; +pub const ImGuiViewportFlags_OwnedByApp: ImGuiViewportFlags_ = 4; +pub type ImGuiViewportFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiViewport { + pub Flags: ImGuiViewportFlags, + pub Pos: ImVec2, + pub Size: ImVec2, + pub WorkPos: ImVec2, + pub WorkSize: ImVec2, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct StbUndoRecord { + pub where_: cty::c_int, + pub insert_length: cty::c_int, + pub delete_length: cty::c_int, + pub char_storage: cty::c_int, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct StbUndoState { + pub undo_rec: [StbUndoRecord; 99usize], + pub undo_char: [ImWchar; 999usize], + pub undo_point: cty::c_short, + pub redo_point: cty::c_short, + pub undo_char_point: cty::c_int, + pub redo_char_point: cty::c_int, +} +impl Default for StbUndoState { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for StbUndoState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "StbUndoState {{ undo_rec: [...], undo_char: [...], undo_point: {:?}, redo_point: {:?}, undo_char_point: {:?}, redo_char_point: {:?} }}" , self . undo_point , self . redo_point , self . undo_char_point , self . redo_char_point) + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STB_TexteditState { + pub cursor: cty::c_int, + pub select_start: cty::c_int, + pub select_end: cty::c_int, + pub insert_mode: cty::c_uchar, + pub row_count_per_page: cty::c_int, + pub cursor_at_end_of_line: cty::c_uchar, + pub initialized: cty::c_uchar, + pub has_preferred_x: cty::c_uchar, + pub single_line: cty::c_uchar, + pub padding1: cty::c_uchar, + pub padding2: cty::c_uchar, + pub padding3: cty::c_uchar, + pub preferred_x: f32, + pub undostate: StbUndoState, +} +impl Default for STB_TexteditState { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for STB_TexteditState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "STB_TexteditState {{ cursor: {:?}, select_start: {:?}, select_end: {:?}, insert_mode: {:?}, row_count_per_page: {:?}, cursor_at_end_of_line: {:?}, initialized: {:?}, has_preferred_x: {:?}, single_line: {:?}, padding1: {:?}, padding2: {:?}, padding3: {:?}, preferred_x: {:?}, undostate: {:?} }}" , self . cursor , self . select_start , self . select_end , self . insert_mode , self . row_count_per_page , self . cursor_at_end_of_line , self . initialized , self . has_preferred_x , self . single_line , self . padding1 , self . padding2 , self . padding3 , self . preferred_x , self . undostate) + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct StbTexteditRow { + pub x0: f32, + pub x1: f32, + pub baseline_y_delta: f32, + pub ymin: f32, + pub ymax: f32, + pub num_chars: cty::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImVec1 { + pub x: f32, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImVec2ih { + pub x: cty::c_short, + pub y: cty::c_short, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImRect { + pub Min: ImVec2, + pub Max: ImVec2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImBitVector { + pub Storage: ImVector_ImU32, +} +impl Default for ImBitVector { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImDrawListSharedData { + pub TexUvWhitePixel: ImVec2, + pub Font: *mut ImFont, + pub FontSize: f32, + pub CurveTessellationTol: f32, + pub CircleSegmentMaxError: f32, + pub ClipRectFullscreen: ImVec4, + pub InitialFlags: ImDrawListFlags, + pub ArcFastVtx: [ImVec2; 12usize], + pub CircleSegmentCounts: [ImU8; 64usize], + pub TexUvLines: *const ImVec4, +} +impl Default for ImDrawListSharedData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImDrawListSharedData { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "ImDrawListSharedData {{ TexUvWhitePixel: {:?}, Font: {:?}, FontSize: {:?}, CurveTessellationTol: {:?}, CircleSegmentMaxError: {:?}, ClipRectFullscreen: {:?}, InitialFlags: {:?}, ArcFastVtx: {:?}, CircleSegmentCounts: [...], TexUvLines: {:?} }}" , self . TexUvWhitePixel , self . Font , self . FontSize , self . CurveTessellationTol , self . CircleSegmentMaxError , self . ClipRectFullscreen , self . InitialFlags , self . ArcFastVtx , self . TexUvLines) + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImDrawDataBuilder { + pub Layers: [ImVector_ImDrawListPtr; 2usize], +} +impl Default for ImDrawDataBuilder { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiItemFlags_None: ImGuiItemFlags_ = 0; +pub const ImGuiItemFlags_NoTabStop: ImGuiItemFlags_ = 1; +pub const ImGuiItemFlags_ButtonRepeat: ImGuiItemFlags_ = 2; +pub const ImGuiItemFlags_Disabled: ImGuiItemFlags_ = 4; +pub const ImGuiItemFlags_NoNav: ImGuiItemFlags_ = 8; +pub const ImGuiItemFlags_NoNavDefaultFocus: ImGuiItemFlags_ = 16; +pub const ImGuiItemFlags_SelectableDontClosePopup: ImGuiItemFlags_ = 32; +pub const ImGuiItemFlags_MixedValue: ImGuiItemFlags_ = 64; +pub const ImGuiItemFlags_ReadOnly: ImGuiItemFlags_ = 128; +pub const ImGuiItemFlags_Default_: ImGuiItemFlags_ = 0; +pub type ImGuiItemFlags_ = cty::c_uint; +pub const ImGuiItemStatusFlags_None: ImGuiItemStatusFlags_ = 0; +pub const ImGuiItemStatusFlags_HoveredRect: ImGuiItemStatusFlags_ = 1; +pub const ImGuiItemStatusFlags_HasDisplayRect: ImGuiItemStatusFlags_ = 2; +pub const ImGuiItemStatusFlags_Edited: ImGuiItemStatusFlags_ = 4; +pub const ImGuiItemStatusFlags_ToggledSelection: ImGuiItemStatusFlags_ = 8; +pub const ImGuiItemStatusFlags_ToggledOpen: ImGuiItemStatusFlags_ = 16; +pub const ImGuiItemStatusFlags_HasDeactivated: ImGuiItemStatusFlags_ = 32; +pub const ImGuiItemStatusFlags_Deactivated: ImGuiItemStatusFlags_ = 64; +pub type ImGuiItemStatusFlags_ = cty::c_uint; +pub const ImGuiButtonFlags_PressedOnClick: ImGuiButtonFlagsPrivate_ = 16; +pub const ImGuiButtonFlags_PressedOnClickRelease: ImGuiButtonFlagsPrivate_ = 32; +pub const ImGuiButtonFlags_PressedOnClickReleaseAnywhere: ImGuiButtonFlagsPrivate_ = 64; +pub const ImGuiButtonFlags_PressedOnRelease: ImGuiButtonFlagsPrivate_ = 128; +pub const ImGuiButtonFlags_PressedOnDoubleClick: ImGuiButtonFlagsPrivate_ = 256; +pub const ImGuiButtonFlags_PressedOnDragDropHold: ImGuiButtonFlagsPrivate_ = 512; +pub const ImGuiButtonFlags_Repeat: ImGuiButtonFlagsPrivate_ = 1024; +pub const ImGuiButtonFlags_FlattenChildren: ImGuiButtonFlagsPrivate_ = 2048; +pub const ImGuiButtonFlags_AllowItemOverlap: ImGuiButtonFlagsPrivate_ = 4096; +pub const ImGuiButtonFlags_DontClosePopups: ImGuiButtonFlagsPrivate_ = 8192; +pub const ImGuiButtonFlags_Disabled: ImGuiButtonFlagsPrivate_ = 16384; +pub const ImGuiButtonFlags_AlignTextBaseLine: ImGuiButtonFlagsPrivate_ = 32768; +pub const ImGuiButtonFlags_NoKeyModifiers: ImGuiButtonFlagsPrivate_ = 65536; +pub const ImGuiButtonFlags_NoHoldingActiveId: ImGuiButtonFlagsPrivate_ = 131072; +pub const ImGuiButtonFlags_NoNavFocus: ImGuiButtonFlagsPrivate_ = 262144; +pub const ImGuiButtonFlags_NoHoveredOnFocus: ImGuiButtonFlagsPrivate_ = 524288; +pub const ImGuiButtonFlags_PressedOnMask_: ImGuiButtonFlagsPrivate_ = 1008; +pub const ImGuiButtonFlags_PressedOnDefault_: ImGuiButtonFlagsPrivate_ = 32; +pub type ImGuiButtonFlagsPrivate_ = cty::c_uint; +pub const ImGuiSliderFlags_Vertical: ImGuiSliderFlagsPrivate_ = 1048576; +pub const ImGuiSliderFlags_ReadOnly: ImGuiSliderFlagsPrivate_ = 2097152; +pub type ImGuiSliderFlagsPrivate_ = cty::c_uint; +pub const ImGuiSelectableFlags_NoHoldingActiveID: ImGuiSelectableFlagsPrivate_ = 1048576; +pub const ImGuiSelectableFlags_SelectOnClick: ImGuiSelectableFlagsPrivate_ = 2097152; +pub const ImGuiSelectableFlags_SelectOnRelease: ImGuiSelectableFlagsPrivate_ = 4194304; +pub const ImGuiSelectableFlags_SpanAvailWidth: ImGuiSelectableFlagsPrivate_ = 8388608; +pub const ImGuiSelectableFlags_DrawHoveredWhenHeld: ImGuiSelectableFlagsPrivate_ = 16777216; +pub const ImGuiSelectableFlags_SetNavIdOnHover: ImGuiSelectableFlagsPrivate_ = 33554432; +pub const ImGuiSelectableFlags_NoPadWithHalfSpacing: ImGuiSelectableFlagsPrivate_ = 67108864; +pub type ImGuiSelectableFlagsPrivate_ = cty::c_uint; +pub const ImGuiTreeNodeFlags_ClipLabelForTrailingButton: ImGuiTreeNodeFlagsPrivate_ = 1048576; +pub type ImGuiTreeNodeFlagsPrivate_ = cty::c_uint; +pub const ImGuiSeparatorFlags_None: ImGuiSeparatorFlags_ = 0; +pub const ImGuiSeparatorFlags_Horizontal: ImGuiSeparatorFlags_ = 1; +pub const ImGuiSeparatorFlags_Vertical: ImGuiSeparatorFlags_ = 2; +pub const ImGuiSeparatorFlags_SpanAllColumns: ImGuiSeparatorFlags_ = 4; +pub type ImGuiSeparatorFlags_ = cty::c_uint; +pub const ImGuiTextFlags_None: ImGuiTextFlags_ = 0; +pub const ImGuiTextFlags_NoWidthForLargeClippedText: ImGuiTextFlags_ = 1; +pub type ImGuiTextFlags_ = cty::c_uint; +pub const ImGuiTooltipFlags_None: ImGuiTooltipFlags_ = 0; +pub const ImGuiTooltipFlags_OverridePreviousTooltip: ImGuiTooltipFlags_ = 1; +pub type ImGuiTooltipFlags_ = cty::c_uint; +pub const ImGuiLayoutType_Horizontal: ImGuiLayoutType_ = 0; +pub const ImGuiLayoutType_Vertical: ImGuiLayoutType_ = 1; +pub type ImGuiLayoutType_ = cty::c_uint; +pub const ImGuiLogType_None: ImGuiLogType = 0; +pub const ImGuiLogType_TTY: ImGuiLogType = 1; +pub const ImGuiLogType_File: ImGuiLogType = 2; +pub const ImGuiLogType_Buffer: ImGuiLogType = 3; +pub const ImGuiLogType_Clipboard: ImGuiLogType = 4; +pub type ImGuiLogType = cty::c_uint; +pub const ImGuiAxis_None: ImGuiAxis = -1; +pub const ImGuiAxis_X: ImGuiAxis = 0; +pub const ImGuiAxis_Y: ImGuiAxis = 1; +pub type ImGuiAxis = cty::c_int; +pub const ImGuiPlotType_Lines: ImGuiPlotType = 0; +pub const ImGuiPlotType_Histogram: ImGuiPlotType = 1; +pub type ImGuiPlotType = cty::c_uint; +pub const ImGuiInputSource_None: ImGuiInputSource = 0; +pub const ImGuiInputSource_Mouse: ImGuiInputSource = 1; +pub const ImGuiInputSource_Nav: ImGuiInputSource = 2; +pub const ImGuiInputSource_NavKeyboard: ImGuiInputSource = 3; +pub const ImGuiInputSource_NavGamepad: ImGuiInputSource = 4; +pub const ImGuiInputSource_COUNT: ImGuiInputSource = 5; +pub type ImGuiInputSource = cty::c_uint; +pub const ImGuiInputReadMode_Down: ImGuiInputReadMode = 0; +pub const ImGuiInputReadMode_Pressed: ImGuiInputReadMode = 1; +pub const ImGuiInputReadMode_Released: ImGuiInputReadMode = 2; +pub const ImGuiInputReadMode_Repeat: ImGuiInputReadMode = 3; +pub const ImGuiInputReadMode_RepeatSlow: ImGuiInputReadMode = 4; +pub const ImGuiInputReadMode_RepeatFast: ImGuiInputReadMode = 5; +pub type ImGuiInputReadMode = cty::c_uint; +pub const ImGuiNavHighlightFlags_None: ImGuiNavHighlightFlags_ = 0; +pub const ImGuiNavHighlightFlags_TypeDefault: ImGuiNavHighlightFlags_ = 1; +pub const ImGuiNavHighlightFlags_TypeThin: ImGuiNavHighlightFlags_ = 2; +pub const ImGuiNavHighlightFlags_AlwaysDraw: ImGuiNavHighlightFlags_ = 4; +pub const ImGuiNavHighlightFlags_NoRounding: ImGuiNavHighlightFlags_ = 8; +pub type ImGuiNavHighlightFlags_ = cty::c_uint; +pub const ImGuiNavDirSourceFlags_None: ImGuiNavDirSourceFlags_ = 0; +pub const ImGuiNavDirSourceFlags_Keyboard: ImGuiNavDirSourceFlags_ = 1; +pub const ImGuiNavDirSourceFlags_PadDPad: ImGuiNavDirSourceFlags_ = 2; +pub const ImGuiNavDirSourceFlags_PadLStick: ImGuiNavDirSourceFlags_ = 4; +pub type ImGuiNavDirSourceFlags_ = cty::c_uint; +pub const ImGuiNavMoveFlags_None: ImGuiNavMoveFlags_ = 0; +pub const ImGuiNavMoveFlags_LoopX: ImGuiNavMoveFlags_ = 1; +pub const ImGuiNavMoveFlags_LoopY: ImGuiNavMoveFlags_ = 2; +pub const ImGuiNavMoveFlags_WrapX: ImGuiNavMoveFlags_ = 4; +pub const ImGuiNavMoveFlags_WrapY: ImGuiNavMoveFlags_ = 8; +pub const ImGuiNavMoveFlags_AllowCurrentNavId: ImGuiNavMoveFlags_ = 16; +pub const ImGuiNavMoveFlags_AlsoScoreVisibleSet: ImGuiNavMoveFlags_ = 32; +pub const ImGuiNavMoveFlags_ScrollToEdge: ImGuiNavMoveFlags_ = 64; +pub type ImGuiNavMoveFlags_ = cty::c_uint; +pub const ImGuiNavForward_None: ImGuiNavForward = 0; +pub const ImGuiNavForward_ForwardQueued: ImGuiNavForward = 1; +pub const ImGuiNavForward_ForwardActive: ImGuiNavForward = 2; +pub type ImGuiNavForward = cty::c_uint; +pub const ImGuiNavLayer_Main: ImGuiNavLayer = 0; +pub const ImGuiNavLayer_Menu: ImGuiNavLayer = 1; +pub const ImGuiNavLayer_COUNT: ImGuiNavLayer = 2; +pub type ImGuiNavLayer = cty::c_uint; +pub const ImGuiPopupPositionPolicy_Default: ImGuiPopupPositionPolicy = 0; +pub const ImGuiPopupPositionPolicy_ComboBox: ImGuiPopupPositionPolicy = 1; +pub const ImGuiPopupPositionPolicy_Tooltip: ImGuiPopupPositionPolicy = 2; +pub type ImGuiPopupPositionPolicy = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiDataTypeTempStorage { + pub Data: [ImU8; 8usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiDataTypeInfo { + pub Size: usize, + pub Name: *const cty::c_char, + pub PrintFmt: *const cty::c_char, + pub ScanFmt: *const cty::c_char, +} +impl Default for ImGuiDataTypeInfo { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiDataType_String: ImGuiDataTypePrivate_ = 11; +pub const ImGuiDataType_Pointer: ImGuiDataTypePrivate_ = 12; +pub const ImGuiDataType_ID: ImGuiDataTypePrivate_ = 13; +pub type ImGuiDataTypePrivate_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiColorMod { + pub Col: ImGuiCol, + pub BackupValue: ImVec4, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImGuiStyleMod { + pub VarIdx: ImGuiStyleVar, + pub __bindgen_anon_1: ImGuiStyleMod__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union ImGuiStyleMod__bindgen_ty_1 { + pub BackupInt: [cty::c_int; 2usize], + pub BackupFloat: [f32; 2usize], + _bindgen_union_align: [u32; 2usize], +} +impl Default for ImGuiStyleMod__bindgen_ty_1 { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiStyleMod__bindgen_ty_1 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write!(f, "ImGuiStyleMod__bindgen_ty_1 {{ union }}") + } +} +impl Default for ImGuiStyleMod { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiStyleMod { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write!( + f, + "ImGuiStyleMod {{ VarIdx: {:?}, __bindgen_anon_1: {:?} }}", + self.VarIdx, self.__bindgen_anon_1 + ) + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiGroupData { + pub WindowID: ImGuiID, + pub BackupCursorPos: ImVec2, + pub BackupCursorMaxPos: ImVec2, + pub BackupIndent: ImVec1, + pub BackupGroupOffset: ImVec1, + pub BackupCurrLineSize: ImVec2, + pub BackupCurrLineTextBaseOffset: f32, + pub BackupActiveIdIsAlive: ImGuiID, + pub BackupActiveIdPreviousFrameIsAlive: bool, + pub EmitItem: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiMenuColumns { + pub Spacing: f32, + pub Width: f32, + pub NextWidth: f32, + pub Pos: [f32; 3usize], + pub NextWidths: [f32; 3usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImGuiInputTextState { + pub ID: ImGuiID, + pub CurLenW: cty::c_int, + pub CurLenA: cty::c_int, + pub TextW: ImVector_ImWchar, + pub TextA: ImVector_char, + pub InitialTextA: ImVector_char, + pub TextAIsValid: bool, + pub BufCapacityA: cty::c_int, + pub ScrollX: f32, + pub Stb: STB_TexteditState, + pub CursorAnim: f32, + pub CursorFollow: bool, + pub SelectedAllMouseLock: bool, + pub Edited: bool, + pub UserFlags: ImGuiInputTextFlags, + pub UserCallback: ImGuiInputTextCallback, + pub UserCallbackData: *mut cty::c_void, +} +impl Default for ImGuiInputTextState { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiInputTextState { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "ImGuiInputTextState {{ ID: {:?}, CurLenW: {:?}, CurLenA: {:?}, TextW: {:?}, TextA: {:?}, InitialTextA: {:?}, TextAIsValid: {:?}, BufCapacityA: {:?}, ScrollX: {:?}, Stb: {:?}, CursorAnim: {:?}, CursorFollow: {:?}, SelectedAllMouseLock: {:?}, Edited: {:?}, UserFlags: {:?}, UserCallback: {:?}, UserCallbackData: {:?} }}" , self . ID , self . CurLenW , self . CurLenA , self . TextW , self . TextA , self . InitialTextA , self . TextAIsValid , self . BufCapacityA , self . ScrollX , self . Stb , self . CursorAnim , self . CursorFollow , self . SelectedAllMouseLock , self . Edited , self . UserFlags , self . UserCallback , self . UserCallbackData) + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiPopupData { + pub PopupId: ImGuiID, + pub Window: *mut ImGuiWindow, + pub SourceWindow: *mut ImGuiWindow, + pub OpenFrameCount: cty::c_int, + pub OpenParentId: ImGuiID, + pub OpenPopupPos: ImVec2, + pub OpenMousePos: ImVec2, +} +impl Default for ImGuiPopupData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiNavMoveResult { + pub Window: *mut ImGuiWindow, + pub ID: ImGuiID, + pub FocusScopeId: ImGuiID, + pub DistBox: f32, + pub DistCenter: f32, + pub DistAxial: f32, + pub RectRel: ImRect, +} +impl Default for ImGuiNavMoveResult { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiNextWindowDataFlags_None: ImGuiNextWindowDataFlags_ = 0; +pub const ImGuiNextWindowDataFlags_HasPos: ImGuiNextWindowDataFlags_ = 1; +pub const ImGuiNextWindowDataFlags_HasSize: ImGuiNextWindowDataFlags_ = 2; +pub const ImGuiNextWindowDataFlags_HasContentSize: ImGuiNextWindowDataFlags_ = 4; +pub const ImGuiNextWindowDataFlags_HasCollapsed: ImGuiNextWindowDataFlags_ = 8; +pub const ImGuiNextWindowDataFlags_HasSizeConstraint: ImGuiNextWindowDataFlags_ = 16; +pub const ImGuiNextWindowDataFlags_HasFocus: ImGuiNextWindowDataFlags_ = 32; +pub const ImGuiNextWindowDataFlags_HasBgAlpha: ImGuiNextWindowDataFlags_ = 64; +pub const ImGuiNextWindowDataFlags_HasScroll: ImGuiNextWindowDataFlags_ = 128; +pub type ImGuiNextWindowDataFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiNextWindowData { + pub Flags: ImGuiNextWindowDataFlags, + pub PosCond: ImGuiCond, + pub SizeCond: ImGuiCond, + pub CollapsedCond: ImGuiCond, + pub PosVal: ImVec2, + pub PosPivotVal: ImVec2, + pub SizeVal: ImVec2, + pub ContentSizeVal: ImVec2, + pub ScrollVal: ImVec2, + pub CollapsedVal: bool, + pub SizeConstraintRect: ImRect, + pub SizeCallback: ImGuiSizeCallback, + pub SizeCallbackUserData: *mut cty::c_void, + pub BgAlphaVal: f32, + pub MenuBarOffsetMinVal: ImVec2, +} +impl Default for ImGuiNextWindowData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiNextItemDataFlags_None: ImGuiNextItemDataFlags_ = 0; +pub const ImGuiNextItemDataFlags_HasWidth: ImGuiNextItemDataFlags_ = 1; +pub const ImGuiNextItemDataFlags_HasOpen: ImGuiNextItemDataFlags_ = 2; +pub type ImGuiNextItemDataFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiNextItemData { + pub Flags: ImGuiNextItemDataFlags, + pub Width: f32, + pub FocusScopeId: ImGuiID, + pub OpenCond: ImGuiCond, + pub OpenVal: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiShrinkWidthItem { + pub Index: cty::c_int, + pub Width: f32, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiPtrOrIndex { + pub Ptr: *mut cty::c_void, + pub Index: cty::c_int, +} +impl Default for ImGuiPtrOrIndex { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +pub const ImGuiOldColumnFlags_None: ImGuiOldColumnFlags_ = 0; +pub const ImGuiOldColumnFlags_NoBorder: ImGuiOldColumnFlags_ = 1; +pub const ImGuiOldColumnFlags_NoResize: ImGuiOldColumnFlags_ = 2; +pub const ImGuiOldColumnFlags_NoPreserveWidths: ImGuiOldColumnFlags_ = 4; +pub const ImGuiOldColumnFlags_NoForceWithinWindow: ImGuiOldColumnFlags_ = 8; +pub const ImGuiOldColumnFlags_GrowParentContentsSize: ImGuiOldColumnFlags_ = 16; +pub type ImGuiOldColumnFlags_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiOldColumnData { + pub OffsetNorm: f32, + pub OffsetNormBeforeResize: f32, + pub Flags: ImGuiOldColumnFlags, + pub ClipRect: ImRect, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiOldColumns { + pub ID: ImGuiID, + pub Flags: ImGuiOldColumnFlags, + pub IsFirstFrame: bool, + pub IsBeingResized: bool, + pub Current: cty::c_int, + pub Count: cty::c_int, + pub OffMinX: f32, + pub OffMaxX: f32, + pub LineMinY: f32, + pub LineMaxY: f32, + pub HostCursorPosY: f32, + pub HostCursorMaxPosX: f32, + pub HostInitialClipRect: ImRect, + pub HostBackupClipRect: ImRect, + pub HostBackupParentWorkRect: ImRect, + pub Columns: ImVector_ImGuiOldColumnData, + pub Splitter: ImDrawListSplitter, +} +impl Default for ImGuiOldColumns { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiViewportP { + pub _ImGuiViewport: ImGuiViewport, + pub DrawListsLastFrame: [cty::c_int; 2usize], + pub DrawLists: [*mut ImDrawList; 2usize], + pub DrawDataP: ImDrawData, + pub DrawDataBuilder: ImDrawDataBuilder, + pub WorkOffsetMin: ImVec2, + pub WorkOffsetMax: ImVec2, + pub CurrWorkOffsetMin: ImVec2, + pub CurrWorkOffsetMax: ImVec2, +} +impl Default for ImGuiViewportP { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiWindowSettings { + pub ID: ImGuiID, + pub Pos: ImVec2ih, + pub Size: ImVec2ih, + pub Collapsed: bool, + pub WantApply: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiSettingsHandler { + pub TypeName: *const cty::c_char, + pub TypeHash: ImGuiID, + pub ClearAllFn: ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, handler: *mut ImGuiSettingsHandler), + >, + pub ReadInitFn: ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, handler: *mut ImGuiSettingsHandler), + >, + pub ReadOpenFn: ::core::option::Option< + unsafe extern "C" fn( + ctx: *mut ImGuiContext, + handler: *mut ImGuiSettingsHandler, + name: *const cty::c_char, + ) -> *mut cty::c_void, + >, + pub ReadLineFn: ::core::option::Option< + unsafe extern "C" fn( + ctx: *mut ImGuiContext, + handler: *mut ImGuiSettingsHandler, + entry: *mut cty::c_void, + line: *const cty::c_char, + ), + >, + pub ApplyAllFn: ::core::option::Option< + unsafe extern "C" fn(ctx: *mut ImGuiContext, handler: *mut ImGuiSettingsHandler), + >, + pub WriteAllFn: ::core::option::Option< + unsafe extern "C" fn( + ctx: *mut ImGuiContext, + handler: *mut ImGuiSettingsHandler, + out_buf: *mut ImGuiTextBuffer, + ), + >, + pub UserData: *mut cty::c_void, +} +impl Default for ImGuiSettingsHandler { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiMetricsConfig { + pub ShowWindowsRects: bool, + pub ShowWindowsBeginOrder: bool, + pub ShowTablesRects: bool, + pub ShowDrawCmdMesh: bool, + pub ShowDrawCmdBoundingBoxes: bool, + pub ShowWindowsRectsType: cty::c_int, + pub ShowTablesRectsType: cty::c_int, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiStackSizes { + pub SizeOfIDStack: cty::c_short, + pub SizeOfColorStack: cty::c_short, + pub SizeOfStyleVarStack: cty::c_short, + pub SizeOfFontStack: cty::c_short, + pub SizeOfFocusScopeStack: cty::c_short, + pub SizeOfGroupStack: cty::c_short, + pub SizeOfBeginPopupStack: cty::c_short, +} +pub const ImGuiContextHookType_NewFramePre: ImGuiContextHookType = 0; +pub const ImGuiContextHookType_NewFramePost: ImGuiContextHookType = 1; +pub const ImGuiContextHookType_EndFramePre: ImGuiContextHookType = 2; +pub const ImGuiContextHookType_EndFramePost: ImGuiContextHookType = 3; +pub const ImGuiContextHookType_RenderPre: ImGuiContextHookType = 4; +pub const ImGuiContextHookType_RenderPost: ImGuiContextHookType = 5; +pub const ImGuiContextHookType_Shutdown: ImGuiContextHookType = 6; +pub const ImGuiContextHookType_PendingRemoval_: ImGuiContextHookType = 7; +pub type ImGuiContextHookType = cty::c_uint; +#[repr(C)] +#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiContextHook { + pub HookId: ImGuiID, + pub Type: ImGuiContextHookType, + pub Owner: ImGuiID, + pub Callback: ImGuiContextHookCallback, + pub UserData: *mut cty::c_void, +} +impl Default for ImGuiContextHook { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ImGuiContext { + pub Initialized: bool, + pub FontAtlasOwnedByContext: bool, + pub IO: ImGuiIO, + pub Style: ImGuiStyle, + pub Font: *mut ImFont, + pub FontSize: f32, + pub FontBaseSize: f32, + pub DrawListSharedData: ImDrawListSharedData, + pub Time: f64, + pub FrameCount: cty::c_int, + pub FrameCountEnded: cty::c_int, + pub FrameCountRendered: cty::c_int, + pub WithinFrameScope: bool, + pub WithinFrameScopeWithImplicitWindow: bool, + pub WithinEndChild: bool, + pub GcCompactAll: bool, + pub TestEngineHookItems: bool, + pub TestEngineHookIdInfo: ImGuiID, + pub TestEngine: *mut cty::c_void, + pub Windows: ImVector_ImGuiWindowPtr, + pub WindowsFocusOrder: ImVector_ImGuiWindowPtr, + pub WindowsTempSortBuffer: ImVector_ImGuiWindowPtr, + pub CurrentWindowStack: ImVector_ImGuiWindowPtr, + pub WindowsById: ImGuiStorage, + pub WindowsActiveCount: cty::c_int, + pub CurrentWindow: *mut ImGuiWindow, + pub HoveredWindow: *mut ImGuiWindow, + pub HoveredRootWindow: *mut ImGuiWindow, + pub HoveredWindowUnderMovingWindow: *mut ImGuiWindow, + pub MovingWindow: *mut ImGuiWindow, + pub WheelingWindow: *mut ImGuiWindow, + pub WheelingWindowRefMousePos: ImVec2, + pub WheelingWindowTimer: f32, + pub HoveredId: ImGuiID, + pub HoveredIdPreviousFrame: ImGuiID, + pub HoveredIdAllowOverlap: bool, + pub HoveredIdUsingMouseWheel: bool, + pub HoveredIdPreviousFrameUsingMouseWheel: bool, + pub HoveredIdDisabled: bool, + pub HoveredIdTimer: f32, + pub HoveredIdNotActiveTimer: f32, + pub ActiveId: ImGuiID, + pub ActiveIdIsAlive: ImGuiID, + pub ActiveIdTimer: f32, + pub ActiveIdIsJustActivated: bool, + pub ActiveIdAllowOverlap: bool, + pub ActiveIdNoClearOnFocusLoss: bool, + pub ActiveIdHasBeenPressedBefore: bool, + pub ActiveIdHasBeenEditedBefore: bool, + pub ActiveIdHasBeenEditedThisFrame: bool, + pub ActiveIdUsingMouseWheel: bool, + pub ActiveIdUsingNavDirMask: ImU32, + pub ActiveIdUsingNavInputMask: ImU32, + pub ActiveIdUsingKeyInputMask: ImU64, + pub ActiveIdClickOffset: ImVec2, + pub ActiveIdWindow: *mut ImGuiWindow, + pub ActiveIdSource: ImGuiInputSource, + pub ActiveIdMouseButton: cty::c_int, + pub ActiveIdPreviousFrame: ImGuiID, + pub ActiveIdPreviousFrameIsAlive: bool, + pub ActiveIdPreviousFrameHasBeenEditedBefore: bool, + pub ActiveIdPreviousFrameWindow: *mut ImGuiWindow, + pub LastActiveId: ImGuiID, + pub LastActiveIdTimer: f32, + pub NextWindowData: ImGuiNextWindowData, + pub NextItemData: ImGuiNextItemData, + pub ColorStack: ImVector_ImGuiColorMod, + pub StyleVarStack: ImVector_ImGuiStyleMod, + pub FontStack: ImVector_ImFontPtr, + pub FocusScopeStack: ImVector_ImGuiID, + pub ItemFlagsStack: ImVector_ImGuiItemFlags, + pub GroupStack: ImVector_ImGuiGroupData, + pub OpenPopupStack: ImVector_ImGuiPopupData, + pub BeginPopupStack: ImVector_ImGuiPopupData, + pub Viewports: ImVector_ImGuiViewportPPtr, + pub NavWindow: *mut ImGuiWindow, + pub NavId: ImGuiID, + pub NavFocusScopeId: ImGuiID, + pub NavActivateId: ImGuiID, + pub NavActivateDownId: ImGuiID, + pub NavActivatePressedId: ImGuiID, + pub NavInputId: ImGuiID, + pub NavJustTabbedId: ImGuiID, + pub NavJustMovedToId: ImGuiID, + pub NavJustMovedToFocusScopeId: ImGuiID, + pub NavJustMovedToKeyMods: ImGuiKeyModFlags, + pub NavNextActivateId: ImGuiID, + pub NavInputSource: ImGuiInputSource, + pub NavScoringRect: ImRect, + pub NavScoringCount: cty::c_int, + pub NavLayer: ImGuiNavLayer, + pub NavIdTabCounter: cty::c_int, + pub NavIdIsAlive: bool, + pub NavMousePosDirty: bool, + pub NavDisableHighlight: bool, + pub NavDisableMouseHover: bool, + pub NavAnyRequest: bool, + pub NavInitRequest: bool, + pub NavInitRequestFromMove: bool, + pub NavInitResultId: ImGuiID, + pub NavInitResultRectRel: ImRect, + pub NavMoveRequest: bool, + pub NavMoveRequestFlags: ImGuiNavMoveFlags, + pub NavMoveRequestForward: ImGuiNavForward, + pub NavMoveRequestKeyMods: ImGuiKeyModFlags, + pub NavMoveDir: ImGuiDir, + pub NavMoveDirLast: ImGuiDir, + pub NavMoveClipDir: ImGuiDir, + pub NavMoveResultLocal: ImGuiNavMoveResult, + pub NavMoveResultLocalVisibleSet: ImGuiNavMoveResult, + pub NavMoveResultOther: ImGuiNavMoveResult, + pub NavWrapRequestWindow: *mut ImGuiWindow, + pub NavWrapRequestFlags: ImGuiNavMoveFlags, + pub NavWindowingTarget: *mut ImGuiWindow, + pub NavWindowingTargetAnim: *mut ImGuiWindow, + pub NavWindowingListWindow: *mut ImGuiWindow, + pub NavWindowingTimer: f32, + pub NavWindowingHighlightAlpha: f32, + pub NavWindowingToggleLayer: bool, + pub FocusRequestCurrWindow: *mut ImGuiWindow, + pub FocusRequestNextWindow: *mut ImGuiWindow, + pub FocusRequestCurrCounterRegular: cty::c_int, + pub FocusRequestCurrCounterTabStop: cty::c_int, + pub FocusRequestNextCounterRegular: cty::c_int, + pub FocusRequestNextCounterTabStop: cty::c_int, + pub FocusTabPressed: bool, + pub DimBgRatio: f32, + pub MouseCursor: ImGuiMouseCursor, + pub DragDropActive: bool, + pub DragDropWithinSource: bool, + pub DragDropWithinTarget: bool, + pub DragDropSourceFlags: ImGuiDragDropFlags, + pub DragDropSourceFrameCount: cty::c_int, + pub DragDropMouseButton: cty::c_int, + pub DragDropPayload: ImGuiPayload, + pub DragDropTargetRect: ImRect, + pub DragDropTargetId: ImGuiID, + pub DragDropAcceptFlags: ImGuiDragDropFlags, + pub DragDropAcceptIdCurrRectSurface: f32, + pub DragDropAcceptIdCurr: ImGuiID, + pub DragDropAcceptIdPrev: ImGuiID, + pub DragDropAcceptFrameCount: cty::c_int, + pub DragDropHoldJustPressedId: ImGuiID, + pub DragDropPayloadBufHeap: ImVector_unsigned_char, + pub DragDropPayloadBufLocal: [cty::c_uchar; 16usize], + pub CurrentTable: *mut ImGuiTable, + pub Tables: ImPool_ImGuiTable, + pub CurrentTableStack: ImVector_ImGuiPtrOrIndex, + pub TablesLastTimeActive: ImVector_float, + pub DrawChannelsTempMergeBuffer: ImVector_ImDrawChannel, + pub CurrentTabBar: *mut ImGuiTabBar, + pub TabBars: ImPool_ImGuiTabBar, + pub CurrentTabBarStack: ImVector_ImGuiPtrOrIndex, + pub ShrinkWidthBuffer: ImVector_ImGuiShrinkWidthItem, + pub LastValidMousePos: ImVec2, + pub InputTextState: ImGuiInputTextState, + pub InputTextPasswordFont: ImFont, + pub TempInputId: ImGuiID, + pub ColorEditOptions: ImGuiColorEditFlags, + pub ColorEditLastHue: f32, + pub ColorEditLastSat: f32, + pub ColorEditLastColor: [f32; 3usize], + pub ColorPickerRef: ImVec4, + pub SliderCurrentAccum: f32, + pub SliderCurrentAccumDirty: bool, + pub DragCurrentAccumDirty: bool, + pub DragCurrentAccum: f32, + pub DragSpeedDefaultRatio: f32, + pub ScrollbarClickDeltaToGrabCenter: f32, + pub TooltipOverrideCount: cty::c_int, + pub TooltipSlowDelay: f32, + pub ClipboardHandlerData: ImVector_char, + pub MenusIdSubmittedThisFrame: ImVector_ImGuiID, + pub PlatformImePos: ImVec2, + pub PlatformImeLastPos: ImVec2, + pub PlatformLocaleDecimalPoint: cty::c_char, + pub SettingsLoaded: bool, + pub SettingsDirtyTimer: f32, + pub SettingsIniData: ImGuiTextBuffer, + pub SettingsHandlers: ImVector_ImGuiSettingsHandler, + pub SettingsWindows: ImChunkStream_ImGuiWindowSettings, + pub SettingsTables: ImChunkStream_ImGuiTableSettings, + pub Hooks: ImVector_ImGuiContextHook, + pub HookIdNext: ImGuiID, + pub LogEnabled: bool, + pub LogType: ImGuiLogType, + pub LogFile: ImFileHandle, + pub LogBuffer: ImGuiTextBuffer, + pub LogNextPrefix: *const cty::c_char, + pub LogNextSuffix: *const cty::c_char, + pub LogLinePosY: f32, + pub LogLineFirstItem: bool, + pub LogDepthRef: cty::c_int, + pub LogDepthToExpand: cty::c_int, + pub LogDepthToExpandDefault: cty::c_int, + pub DebugItemPickerActive: bool, + pub DebugItemPickerBreakId: ImGuiID, + pub DebugMetricsConfig: ImGuiMetricsConfig, + pub FramerateSecPerFrame: [f32; 120usize], + pub FramerateSecPerFrameIdx: cty::c_int, + pub FramerateSecPerFrameAccum: f32, + pub WantCaptureMouseNextFrame: cty::c_int, + pub WantCaptureKeyboardNextFrame: cty::c_int, + pub WantTextInputNextFrame: cty::c_int, + pub TempBuffer: [cty::c_char; 3073usize], +} +impl Default for ImGuiContext { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ::core::fmt::Debug for ImGuiContext { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + write ! (f , "ImGuiContext {{ Initialized: {:?}, FontAtlasOwnedByContext: {:?}, IO: {:?}, Style: {:?}, Font: {:?}, FontSize: {:?}, FontBaseSize: {:?}, DrawListSharedData: {:?}, Time: {:?}, FrameCount: {:?}, FrameCountEnded: {:?}, FrameCountRendered: {:?}, WithinFrameScope: {:?}, WithinFrameScopeWithImplicitWindow: {:?}, WithinEndChild: {:?}, GcCompactAll: {:?}, TestEngineHookItems: {:?}, TestEngineHookIdInfo: {:?}, TestEngine: {:?}, Windows: {:?}, WindowsFocusOrder: {:?}, WindowsTempSortBuffer: {:?}, CurrentWindowStack: {:?}, WindowsById: {:?}, WindowsActiveCount: {:?}, CurrentWindow: {:?}, HoveredWindow: {:?}, HoveredRootWindow: {:?}, HoveredWindowUnderMovingWindow: {:?}, MovingWindow: {:?}, WheelingWindow: {:?}, WheelingWindowRefMousePos: {:?}, WheelingWindowTimer: {:?}, HoveredId: {:?}, HoveredIdPreviousFrame: {:?}, HoveredIdAllowOverlap: {:?}, HoveredIdUsingMouseWheel: {:?}, HoveredIdPreviousFrameUsingMouseWheel: {:?}, HoveredIdDisabled: {:?}, HoveredIdTimer: {:?}, HoveredIdNotActiveTimer: {:?}, ActiveId: {:?}, ActiveIdIsAlive: {:?}, ActiveIdTimer: {:?}, ActiveIdIsJustActivated: {:?}, ActiveIdAllowOverlap: {:?}, ActiveIdNoClearOnFocusLoss: {:?}, ActiveIdHasBeenPressedBefore: {:?}, ActiveIdHasBeenEditedBefore: {:?}, ActiveIdHasBeenEditedThisFrame: {:?}, ActiveIdUsingMouseWheel: {:?}, ActiveIdUsingNavDirMask: {:?}, ActiveIdUsingNavInputMask: {:?}, ActiveIdUsingKeyInputMask: {:?}, ActiveIdClickOffset: {:?}, ActiveIdWindow: {:?}, ActiveIdSource: {:?}, ActiveIdMouseButton: {:?}, ActiveIdPreviousFrame: {:?}, ActiveIdPreviousFrameIsAlive: {:?}, ActiveIdPreviousFrameHasBeenEditedBefore: {:?}, ActiveIdPreviousFrameWindow: {:?}, LastActiveId: {:?}, LastActiveIdTimer: {:?}, NextWindowData: {:?}, NextItemData: {:?}, ColorStack: {:?}, StyleVarStack: {:?}, FontStack: {:?}, FocusScopeStack: {:?}, ItemFlagsStack: {:?}, GroupStack: {:?}, OpenPopupStack: {:?}, BeginPopupStack: {:?}, Viewports: {:?}, NavWindow: {:?}, NavId: {:?}, NavFocusScopeId: {:?}, NavActivateId: {:?}, NavActivateDownId: {:?}, NavActivatePressedId: {:?}, NavInputId: {:?}, NavJustTabbedId: {:?}, NavJustMovedToId: {:?}, NavJustMovedToFocusScopeId: {:?}, NavJustMovedToKeyMods: {:?}, NavNextActivateId: {:?}, NavInputSource: {:?}, NavScoringRect: {:?}, NavScoringCount: {:?}, NavLayer: {:?}, NavIdTabCounter: {:?}, NavIdIsAlive: {:?}, NavMousePosDirty: {:?}, NavDisableHighlight: {:?}, NavDisableMouseHover: {:?}, NavAnyRequest: {:?}, NavInitRequest: {:?}, NavInitRequestFromMove: {:?}, NavInitResultId: {:?}, NavInitResultRectRel: {:?}, NavMoveRequest: {:?}, NavMoveRequestFlags: {:?}, NavMoveRequestForward: {:?}, NavMoveRequestKeyMods: {:?}, NavMoveDir: {:?}, NavMoveDirLast: {:?}, NavMoveClipDir: {:?}, NavMoveResultLocal: {:?}, NavMoveResultLocalVisibleSet: {:?}, NavMoveResultOther: {:?}, NavWrapRequestWindow: {:?}, NavWrapRequestFlags: {:?}, NavWindowingTarget: {:?}, NavWindowingTargetAnim: {:?}, NavWindowingListWindow: {:?}, NavWindowingTimer: {:?}, NavWindowingHighlightAlpha: {:?}, NavWindowingToggleLayer: {:?}, FocusRequestCurrWindow: {:?}, FocusRequestNextWindow: {:?}, FocusRequestCurrCounterRegular: {:?}, FocusRequestCurrCounterTabStop: {:?}, FocusRequestNextCounterRegular: {:?}, FocusRequestNextCounterTabStop: {:?}, FocusTabPressed: {:?}, DimBgRatio: {:?}, MouseCursor: {:?}, DragDropActive: {:?}, DragDropWithinSource: {:?}, DragDropWithinTarget: {:?}, DragDropSourceFlags: {:?}, DragDropSourceFrameCount: {:?}, DragDropMouseButton: {:?}, DragDropPayload: {:?}, DragDropTargetRect: {:?}, DragDropTargetId: {:?}, DragDropAcceptFlags: {:?}, DragDropAcceptIdCurrRectSurface: {:?}, DragDropAcceptIdCurr: {:?}, DragDropAcceptIdPrev: {:?}, DragDropAcceptFrameCount: {:?}, DragDropHoldJustPressedId: {:?}, DragDropPayloadBufHeap: {:?}, DragDropPayloadBufLocal: {:?}, CurrentTable: {:?}, Tables: {:?}, CurrentTableStack: {:?}, TablesLastTimeActive: {:?}, DrawChannelsTempMergeBuffer: {:?}, CurrentTabBar: {:?}, TabBars: {:?}, CurrentTabBarStack: {:?}, ShrinkWidthBuffer: {:?}, LastValidMousePos: {:?}, InputTextState: {:?}, InputTextPasswordFont: {:?}, TempInputId: {:?}, ColorEditOptions: {:?}, ColorEditLastHue: {:?}, ColorEditLastSat: {:?}, ColorEditLastColor: {:?}, ColorPickerRef: {:?}, SliderCurrentAccum: {:?}, SliderCurrentAccumDirty: {:?}, DragCurrentAccumDirty: {:?}, DragCurrentAccum: {:?}, DragSpeedDefaultRatio: {:?}, ScrollbarClickDeltaToGrabCenter: {:?}, TooltipOverrideCount: {:?}, TooltipSlowDelay: {:?}, ClipboardHandlerData: {:?}, MenusIdSubmittedThisFrame: {:?}, PlatformImePos: {:?}, PlatformImeLastPos: {:?}, PlatformLocaleDecimalPoint: {:?}, SettingsLoaded: {:?}, SettingsDirtyTimer: {:?}, SettingsIniData: {:?}, SettingsHandlers: {:?}, SettingsWindows: {:?}, SettingsTables: {:?}, Hooks: {:?}, HookIdNext: {:?}, LogEnabled: {:?}, LogType: {:?}, LogFile: {:?}, LogBuffer: {:?}, LogNextPrefix: {:?}, LogNextSuffix: {:?}, LogLinePosY: {:?}, LogLineFirstItem: {:?}, LogDepthRef: {:?}, LogDepthToExpand: {:?}, LogDepthToExpandDefault: {:?}, DebugItemPickerActive: {:?}, DebugItemPickerBreakId: {:?}, DebugMetricsConfig: {:?}, FramerateSecPerFrame: [...], FramerateSecPerFrameIdx: {:?}, FramerateSecPerFrameAccum: {:?}, WantCaptureMouseNextFrame: {:?}, WantCaptureKeyboardNextFrame: {:?}, WantTextInputNextFrame: {:?}, TempBuffer: [...] }}" , self . Initialized , self . FontAtlasOwnedByContext , self . IO , self . Style , self . Font , self . FontSize , self . FontBaseSize , self . DrawListSharedData , self . Time , self . FrameCount , self . FrameCountEnded , self . FrameCountRendered , self . WithinFrameScope , self . WithinFrameScopeWithImplicitWindow , self . WithinEndChild , self . GcCompactAll , self . TestEngineHookItems , self . TestEngineHookIdInfo , self . TestEngine , self . Windows , self . WindowsFocusOrder , self . WindowsTempSortBuffer , self . CurrentWindowStack , self . WindowsById , self . WindowsActiveCount , self . CurrentWindow , self . HoveredWindow , self . HoveredRootWindow , self . HoveredWindowUnderMovingWindow , self . MovingWindow , self . WheelingWindow , self . WheelingWindowRefMousePos , self . WheelingWindowTimer , self . HoveredId , self . HoveredIdPreviousFrame , self . HoveredIdAllowOverlap , self . HoveredIdUsingMouseWheel , self . HoveredIdPreviousFrameUsingMouseWheel , self . HoveredIdDisabled , self . HoveredIdTimer , self . HoveredIdNotActiveTimer , self . ActiveId , self . ActiveIdIsAlive , self . ActiveIdTimer , self . ActiveIdIsJustActivated , self . ActiveIdAllowOverlap , self . ActiveIdNoClearOnFocusLoss , self . ActiveIdHasBeenPressedBefore , self . ActiveIdHasBeenEditedBefore , self . ActiveIdHasBeenEditedThisFrame , self . ActiveIdUsingMouseWheel , self . ActiveIdUsingNavDirMask , self . ActiveIdUsingNavInputMask , self . ActiveIdUsingKeyInputMask , self . ActiveIdClickOffset , self . ActiveIdWindow , self . ActiveIdSource , self . ActiveIdMouseButton , self . ActiveIdPreviousFrame , self . ActiveIdPreviousFrameIsAlive , self . ActiveIdPreviousFrameHasBeenEditedBefore , self . ActiveIdPreviousFrameWindow , self . LastActiveId , self . LastActiveIdTimer , self . NextWindowData , self . NextItemData , self . ColorStack , self . StyleVarStack , self . FontStack , self . FocusScopeStack , self . ItemFlagsStack , self . GroupStack , self . OpenPopupStack , self . BeginPopupStack , self . Viewports , self . NavWindow , self . NavId , self . NavFocusScopeId , self . NavActivateId , self . NavActivateDownId , self . NavActivatePressedId , self . NavInputId , self . NavJustTabbedId , self . NavJustMovedToId , self . NavJustMovedToFocusScopeId , self . NavJustMovedToKeyMods , self . NavNextActivateId , self . NavInputSource , self . NavScoringRect , self . NavScoringCount , self . NavLayer , self . NavIdTabCounter , self . NavIdIsAlive , self . NavMousePosDirty , self . NavDisableHighlight , self . NavDisableMouseHover , self . NavAnyRequest , self . NavInitRequest , self . NavInitRequestFromMove , self . NavInitResultId , self . NavInitResultRectRel , self . NavMoveRequest , self . NavMoveRequestFlags , self . NavMoveRequestForward , self . NavMoveRequestKeyMods , self . NavMoveDir , self . NavMoveDirLast , self . NavMoveClipDir , self . NavMoveResultLocal , self . NavMoveResultLocalVisibleSet , self . NavMoveResultOther , self . NavWrapRequestWindow , self . NavWrapRequestFlags , self . NavWindowingTarget , self . NavWindowingTargetAnim , self . NavWindowingListWindow , self . NavWindowingTimer , self . NavWindowingHighlightAlpha , self . NavWindowingToggleLayer , self . FocusRequestCurrWindow , self . FocusRequestNextWindow , self . FocusRequestCurrCounterRegular , self . FocusRequestCurrCounterTabStop , self . FocusRequestNextCounterRegular , self . FocusRequestNextCounterTabStop , self . FocusTabPressed , self . DimBgRatio , self . MouseCursor , self . DragDropActive , self . DragDropWithinSource , self . DragDropWithinTarget , self . DragDropSourceFlags , self . DragDropSourceFrameCount , self . DragDropMouseButton , self . DragDropPayload , self . DragDropTargetRect , self . DragDropTargetId , self . DragDropAcceptFlags , self . DragDropAcceptIdCurrRectSurface , self . DragDropAcceptIdCurr , self . DragDropAcceptIdPrev , self . DragDropAcceptFrameCount , self . DragDropHoldJustPressedId , self . DragDropPayloadBufHeap , self . DragDropPayloadBufLocal , self . CurrentTable , self . Tables , self . CurrentTableStack , self . TablesLastTimeActive , self . DrawChannelsTempMergeBuffer , self . CurrentTabBar , self . TabBars , self . CurrentTabBarStack , self . ShrinkWidthBuffer , self . LastValidMousePos , self . InputTextState , self . InputTextPasswordFont , self . TempInputId , self . ColorEditOptions , self . ColorEditLastHue , self . ColorEditLastSat , self . ColorEditLastColor , self . ColorPickerRef , self . SliderCurrentAccum , self . SliderCurrentAccumDirty , self . DragCurrentAccumDirty , self . DragCurrentAccum , self . DragSpeedDefaultRatio , self . ScrollbarClickDeltaToGrabCenter , self . TooltipOverrideCount , self . TooltipSlowDelay , self . ClipboardHandlerData , self . MenusIdSubmittedThisFrame , self . PlatformImePos , self . PlatformImeLastPos , self . PlatformLocaleDecimalPoint , self . SettingsLoaded , self . SettingsDirtyTimer , self . SettingsIniData , self . SettingsHandlers , self . SettingsWindows , self . SettingsTables , self . Hooks , self . HookIdNext , self . LogEnabled , self . LogType , self . LogFile , self . LogBuffer , self . LogNextPrefix , self . LogNextSuffix , self . LogLinePosY , self . LogLineFirstItem , self . LogDepthRef , self . LogDepthToExpand , self . LogDepthToExpandDefault , self . DebugItemPickerActive , self . DebugItemPickerBreakId , self . DebugMetricsConfig , self . FramerateSecPerFrameIdx , self . FramerateSecPerFrameAccum , self . WantCaptureMouseNextFrame , self . WantCaptureKeyboardNextFrame , self . WantTextInputNextFrame) + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiWindowTempData { + pub CursorPos: ImVec2, + pub CursorPosPrevLine: ImVec2, + pub CursorStartPos: ImVec2, + pub CursorMaxPos: ImVec2, + pub IdealMaxPos: ImVec2, + pub CurrLineSize: ImVec2, + pub PrevLineSize: ImVec2, + pub CurrLineTextBaseOffset: f32, + pub PrevLineTextBaseOffset: f32, + pub Indent: ImVec1, + pub ColumnsOffset: ImVec1, + pub GroupOffset: ImVec1, + pub LastItemId: ImGuiID, + pub LastItemStatusFlags: ImGuiItemStatusFlags, + pub LastItemRect: ImRect, + pub LastItemDisplayRect: ImRect, + pub NavLayerCurrent: ImGuiNavLayer, + pub NavLayerActiveMask: cty::c_int, + pub NavLayerActiveMaskNext: cty::c_int, + pub NavFocusScopeIdCurrent: ImGuiID, + pub NavHideHighlightOneFrame: bool, + pub NavHasScroll: bool, + pub MenuBarAppending: bool, + pub MenuBarOffset: ImVec2, + pub MenuColumns: ImGuiMenuColumns, + pub TreeDepth: cty::c_int, + pub TreeJumpToParentOnPopMask: ImU32, + pub ChildWindows: ImVector_ImGuiWindowPtr, + pub StateStorage: *mut ImGuiStorage, + pub CurrentColumns: *mut ImGuiOldColumns, + pub CurrentTableIdx: cty::c_int, + pub LayoutType: ImGuiLayoutType, + pub ParentLayoutType: ImGuiLayoutType, + pub FocusCounterRegular: cty::c_int, + pub FocusCounterTabStop: cty::c_int, + pub ItemFlags: ImGuiItemFlags, + pub ItemWidth: f32, + pub TextWrapPos: f32, + pub ItemWidthStack: ImVector_float, + pub TextWrapPosStack: ImVector_float, + pub StackSizesOnBegin: ImGuiStackSizes, +} +impl Default for ImGuiWindowTempData { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiWindow { + pub Name: *mut cty::c_char, + pub ID: ImGuiID, + pub Flags: ImGuiWindowFlags, + pub Pos: ImVec2, + pub Size: ImVec2, + pub SizeFull: ImVec2, + pub ContentSize: ImVec2, + pub ContentSizeIdeal: ImVec2, + pub ContentSizeExplicit: ImVec2, + pub WindowPadding: ImVec2, + pub WindowRounding: f32, + pub WindowBorderSize: f32, + pub NameBufLen: cty::c_int, + pub MoveId: ImGuiID, + pub ChildId: ImGuiID, + pub Scroll: ImVec2, + pub ScrollMax: ImVec2, + pub ScrollTarget: ImVec2, + pub ScrollTargetCenterRatio: ImVec2, + pub ScrollTargetEdgeSnapDist: ImVec2, + pub ScrollbarSizes: ImVec2, + pub ScrollbarX: bool, + pub ScrollbarY: bool, + pub Active: bool, + pub WasActive: bool, + pub WriteAccessed: bool, + pub Collapsed: bool, + pub WantCollapseToggle: bool, + pub SkipItems: bool, + pub Appearing: bool, + pub Hidden: bool, + pub IsFallbackWindow: bool, + pub HasCloseButton: bool, + pub ResizeBorderHeld: cty::c_schar, + pub BeginCount: cty::c_short, + pub BeginOrderWithinParent: cty::c_short, + pub BeginOrderWithinContext: cty::c_short, + pub PopupId: ImGuiID, + pub AutoFitFramesX: ImS8, + pub AutoFitFramesY: ImS8, + pub AutoFitChildAxises: ImS8, + pub AutoFitOnlyGrows: bool, + pub AutoPosLastDirection: ImGuiDir, + pub HiddenFramesCanSkipItems: ImS8, + pub HiddenFramesCannotSkipItems: ImS8, + pub HiddenFramesForRenderOnly: ImS8, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize], u8>, + pub SetWindowPosVal: ImVec2, + pub SetWindowPosPivot: ImVec2, + pub IDStack: ImVector_ImGuiID, + pub DC: ImGuiWindowTempData, + pub OuterRectClipped: ImRect, + pub InnerRect: ImRect, + pub InnerClipRect: ImRect, + pub WorkRect: ImRect, + pub ParentWorkRect: ImRect, + pub ClipRect: ImRect, + pub ContentRegionRect: ImRect, + pub HitTestHoleSize: ImVec2ih, + pub HitTestHoleOffset: ImVec2ih, + pub LastFrameActive: cty::c_int, + pub LastTimeActive: f32, + pub ItemWidthDefault: f32, + pub StateStorage: ImGuiStorage, + pub ColumnsStorage: ImVector_ImGuiOldColumns, + pub FontWindowScale: f32, + pub SettingsOffset: cty::c_int, + pub DrawList: *mut ImDrawList, + pub DrawListInst: ImDrawList, + pub ParentWindow: *mut ImGuiWindow, + pub RootWindow: *mut ImGuiWindow, + pub RootWindowForTitleBarHighlight: *mut ImGuiWindow, + pub RootWindowForNav: *mut ImGuiWindow, + pub NavLastChildNavWindow: *mut ImGuiWindow, + pub NavLastIds: [ImGuiID; 2usize], + pub NavRectRel: [ImRect; 2usize], + pub MemoryDrawListIdxCapacity: cty::c_int, + pub MemoryDrawListVtxCapacity: cty::c_int, + pub MemoryCompacted: bool, +} +impl Default for ImGuiWindow { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ImGuiWindow { + #[inline] + pub fn SetWindowPosAllowFlags(&self) -> ImGuiCond { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_SetWindowPosAllowFlags(&mut self, val: ImGuiCond) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn SetWindowSizeAllowFlags(&self) -> ImGuiCond { + unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_SetWindowSizeAllowFlags(&mut self, val: ImGuiCond) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn SetWindowCollapsedAllowFlags(&self) -> ImGuiCond { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 8u8) as u32) } + } + #[inline] + pub fn set_SetWindowCollapsedAllowFlags(&mut self, val: ImGuiCond) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SetWindowPosAllowFlags: ImGuiCond, + SetWindowSizeAllowFlags: ImGuiCond, + SetWindowCollapsedAllowFlags: ImGuiCond, + ) -> __BindgenBitfieldUnit<[u8; 3usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let SetWindowPosAllowFlags: u32 = + unsafe { ::core::mem::transmute(SetWindowPosAllowFlags) }; + SetWindowPosAllowFlags as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let SetWindowSizeAllowFlags: u32 = + unsafe { ::core::mem::transmute(SetWindowSizeAllowFlags) }; + SetWindowSizeAllowFlags as u64 + }); + __bindgen_bitfield_unit.set(16usize, 8u8, { + let SetWindowCollapsedAllowFlags: u32 = + unsafe { ::core::mem::transmute(SetWindowCollapsedAllowFlags) }; + SetWindowCollapsedAllowFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiLastItemDataBackup { + pub LastItemId: ImGuiID, + pub LastItemStatusFlags: ImGuiItemStatusFlags, + pub LastItemRect: ImRect, + pub LastItemDisplayRect: ImRect, +} +pub const ImGuiTabBarFlags_DockNode: ImGuiTabBarFlagsPrivate_ = 1048576; +pub const ImGuiTabBarFlags_IsFocused: ImGuiTabBarFlagsPrivate_ = 2097152; +pub const ImGuiTabBarFlags_SaveSettings: ImGuiTabBarFlagsPrivate_ = 4194304; +pub type ImGuiTabBarFlagsPrivate_ = cty::c_uint; +pub const ImGuiTabItemFlags_NoCloseButton: ImGuiTabItemFlagsPrivate_ = 1048576; +pub const ImGuiTabItemFlags_Button: ImGuiTabItemFlagsPrivate_ = 2097152; +pub type ImGuiTabItemFlagsPrivate_ = cty::c_uint; +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTabItem { + pub ID: ImGuiID, + pub Flags: ImGuiTabItemFlags, + pub LastFrameVisible: cty::c_int, + pub LastFrameSelected: cty::c_int, + pub Offset: f32, + pub Width: f32, + pub ContentWidth: f32, + pub NameOffset: ImS16, + pub BeginOrder: ImS16, + pub IndexDuringLayout: ImS16, + pub WantClose: bool, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiTabBar { + pub Tabs: ImVector_ImGuiTabItem, + pub Flags: ImGuiTabBarFlags, + pub ID: ImGuiID, + pub SelectedTabId: ImGuiID, + pub NextSelectedTabId: ImGuiID, + pub VisibleTabId: ImGuiID, + pub CurrFrameVisible: cty::c_int, + pub PrevFrameVisible: cty::c_int, + pub BarRect: ImRect, + pub CurrTabsContentsHeight: f32, + pub PrevTabsContentsHeight: f32, + pub WidthAllTabs: f32, + pub WidthAllTabsIdeal: f32, + pub ScrollingAnim: f32, + pub ScrollingTarget: f32, + pub ScrollingTargetDistToVisibility: f32, + pub ScrollingSpeed: f32, + pub ScrollingRectMinX: f32, + pub ScrollingRectMaxX: f32, + pub ReorderRequestTabId: ImGuiID, + pub ReorderRequestDir: ImS8, + pub BeginCount: ImS8, + pub WantLayout: bool, + pub VisibleTabWasSubmitted: bool, + pub TabsAddedNew: bool, + pub TabsActiveCount: ImS16, + pub LastTabItemIdx: ImS16, + pub ItemSpacingY: f32, + pub FramePadding: ImVec2, + pub BackupCursorPos: ImVec2, + pub TabsNames: ImGuiTextBuffer, +} +impl Default for ImGuiTabBar { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTableColumn { + pub Flags: ImGuiTableColumnFlags, + pub WidthGiven: f32, + pub MinX: f32, + pub MaxX: f32, + pub WidthRequest: f32, + pub WidthAuto: f32, + pub StretchWeight: f32, + pub InitStretchWeightOrWidth: f32, + pub ClipRect: ImRect, + pub UserID: ImGuiID, + pub WorkMinX: f32, + pub WorkMaxX: f32, + pub ItemWidth: f32, + pub ContentMaxXFrozen: f32, + pub ContentMaxXUnfrozen: f32, + pub ContentMaxXHeadersUsed: f32, + pub ContentMaxXHeadersIdeal: f32, + pub NameOffset: ImS16, + pub DisplayOrder: ImGuiTableColumnIdx, + pub IndexWithinEnabledSet: ImGuiTableColumnIdx, + pub PrevEnabledColumn: ImGuiTableColumnIdx, + pub NextEnabledColumn: ImGuiTableColumnIdx, + pub SortOrder: ImGuiTableColumnIdx, + pub DrawChannelCurrent: ImGuiTableDrawChannelIdx, + pub DrawChannelFrozen: ImGuiTableDrawChannelIdx, + pub DrawChannelUnfrozen: ImGuiTableDrawChannelIdx, + pub IsEnabled: bool, + pub IsEnabledNextFrame: bool, + pub IsVisibleX: bool, + pub IsVisibleY: bool, + pub IsRequestOutput: bool, + pub IsSkipItems: bool, + pub IsPreserveWidthAuto: bool, + pub NavLayerCurrent: ImS8, + pub AutoFitQueue: ImU8, + pub CannotSkipItemsQueue: ImU8, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, + pub SortDirectionsAvailList: ImU8, +} +impl ImGuiTableColumn { + #[inline] + pub fn SortDirection(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_SortDirection(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn SortDirectionsAvailCount(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u8) } + } + #[inline] + pub fn set_SortDirectionsAvailCount(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub fn SortDirectionsAvailMask(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_SortDirectionsAvailMask(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SortDirection: ImU8, + SortDirectionsAvailCount: ImU8, + SortDirectionsAvailMask: ImU8, + ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let SortDirection: u8 = unsafe { ::core::mem::transmute(SortDirection) }; + SortDirection as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let SortDirectionsAvailCount: u8 = + unsafe { ::core::mem::transmute(SortDirectionsAvailCount) }; + SortDirectionsAvailCount as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let SortDirectionsAvailMask: u8 = + unsafe { ::core::mem::transmute(SortDirectionsAvailMask) }; + SortDirectionsAvailMask as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImGuiTableCellData { + pub BgColor: ImU32, + pub Column: ImGuiTableColumnIdx, +} +#[repr(C)] +#[derive(Debug, Copy, Clone, PartialEq)] +pub struct ImGuiTable { + pub ID: ImGuiID, + pub Flags: ImGuiTableFlags, + pub RawData: *mut cty::c_void, + pub Columns: ImSpan_ImGuiTableColumn, + pub DisplayOrderToIndex: ImSpan_ImGuiTableColumnIdx, + pub RowCellData: ImSpan_ImGuiTableCellData, + pub EnabledMaskByDisplayOrder: ImU64, + pub EnabledMaskByIndex: ImU64, + pub VisibleMaskByIndex: ImU64, + pub RequestOutputMaskByIndex: ImU64, + pub SettingsLoadedFlags: ImGuiTableFlags, + pub SettingsOffset: cty::c_int, + pub LastFrameActive: cty::c_int, + pub ColumnsCount: cty::c_int, + pub CurrentRow: cty::c_int, + pub CurrentColumn: cty::c_int, + pub InstanceCurrent: ImS16, + pub InstanceInteracted: ImS16, + pub RowPosY1: f32, + pub RowPosY2: f32, + pub RowMinHeight: f32, + pub RowTextBaseline: f32, + pub RowIndentOffsetX: f32, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u16>, + pub RowBgColorCounter: cty::c_int, + pub RowBgColor: [ImU32; 2usize], + pub BorderColorStrong: ImU32, + pub BorderColorLight: ImU32, + pub BorderX1: f32, + pub BorderX2: f32, + pub HostIndentX: f32, + pub MinColumnWidth: f32, + pub OuterPaddingX: f32, + pub CellPaddingX: f32, + pub CellPaddingY: f32, + pub CellSpacingX1: f32, + pub CellSpacingX2: f32, + pub LastOuterHeight: f32, + pub LastFirstRowHeight: f32, + pub InnerWidth: f32, + pub ColumnsGivenWidth: f32, + pub ColumnsAutoFitWidth: f32, + pub ResizedColumnNextWidth: f32, + pub ResizeLockMinContentsX2: f32, + pub RefScale: f32, + pub OuterRect: ImRect, + pub InnerRect: ImRect, + pub WorkRect: ImRect, + pub InnerClipRect: ImRect, + pub BgClipRect: ImRect, + pub Bg0ClipRectForDrawCmd: ImRect, + pub Bg2ClipRectForDrawCmd: ImRect, + pub HostClipRect: ImRect, + pub HostBackupWorkRect: ImRect, + pub HostBackupParentWorkRect: ImRect, + pub HostBackupInnerClipRect: ImRect, + pub HostBackupPrevLineSize: ImVec2, + pub HostBackupCurrLineSize: ImVec2, + pub HostBackupCursorMaxPos: ImVec2, + pub UserOuterSize: ImVec2, + pub HostBackupColumnsOffset: ImVec1, + pub HostBackupItemWidth: f32, + pub HostBackupItemWidthStackSize: cty::c_int, + pub OuterWindow: *mut ImGuiWindow, + pub InnerWindow: *mut ImGuiWindow, + pub ColumnsNames: ImGuiTextBuffer, + pub DrawSplitter: ImDrawListSplitter, + pub SortSpecsSingle: ImGuiTableColumnSortSpecs, + pub SortSpecsMulti: ImVector_ImGuiTableColumnSortSpecs, + pub SortSpecs: ImGuiTableSortSpecs, + pub SortSpecsCount: ImGuiTableColumnIdx, + pub ColumnsEnabledCount: ImGuiTableColumnIdx, + pub ColumnsEnabledFixedCount: ImGuiTableColumnIdx, + pub DeclColumnsCount: ImGuiTableColumnIdx, + pub HoveredColumnBody: ImGuiTableColumnIdx, + pub HoveredColumnBorder: ImGuiTableColumnIdx, + pub AutoFitSingleColumn: ImGuiTableColumnIdx, + pub ResizedColumn: ImGuiTableColumnIdx, + pub LastResizedColumn: ImGuiTableColumnIdx, + pub HeldHeaderColumn: ImGuiTableColumnIdx, + pub ReorderColumn: ImGuiTableColumnIdx, + pub ReorderColumnDir: ImGuiTableColumnIdx, + pub LeftMostStretchedColumn: ImGuiTableColumnIdx, + pub RightMostStretchedColumn: ImGuiTableColumnIdx, + pub RightMostEnabledColumn: ImGuiTableColumnIdx, + pub ContextPopupColumn: ImGuiTableColumnIdx, + pub FreezeRowsRequest: ImGuiTableColumnIdx, + pub FreezeRowsCount: ImGuiTableColumnIdx, + pub FreezeColumnsRequest: ImGuiTableColumnIdx, + pub FreezeColumnsCount: ImGuiTableColumnIdx, + pub RowCellDataCurrent: ImGuiTableColumnIdx, + pub DummyDrawChannel: ImGuiTableDrawChannelIdx, + pub Bg2DrawChannelCurrent: ImGuiTableDrawChannelIdx, + pub Bg2DrawChannelUnfrozen: ImGuiTableDrawChannelIdx, + pub IsLayoutLocked: bool, + pub IsInsideRow: bool, + pub IsInitializing: bool, + pub IsSortSpecsDirty: bool, + pub IsUsingHeaders: bool, + pub IsContextPopupOpen: bool, + pub IsSettingsRequestLoad: bool, + pub IsSettingsDirty: bool, + pub IsDefaultDisplayOrder: bool, + pub IsResetAllRequest: bool, + pub IsResetDisplayOrderRequest: bool, + pub IsUnfrozenRows: bool, + pub IsDefaultSizingPolicy: bool, + pub MemoryCompacted: bool, + pub HostSkipItems: bool, +} +impl Default for ImGuiTable { + fn default() -> Self { + unsafe { ::core::mem::zeroed() } + } +} +impl ImGuiTable { + #[inline] + pub fn RowFlags(&self) -> ImGuiTableRowFlags { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_RowFlags(&mut self, val: ImGuiTableRowFlags) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn LastRowFlags(&self) -> ImGuiTableRowFlags { + unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_LastRowFlags(&mut self, val: ImGuiTableRowFlags) { + unsafe { + let val: u32 = ::core::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RowFlags: ImGuiTableRowFlags, + LastRowFlags: ImGuiTableRowFlags, + ) -> __BindgenBitfieldUnit<[u8; 4usize], u16> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u16> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let RowFlags: u32 = unsafe { ::core::mem::transmute(RowFlags) }; + RowFlags as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let LastRowFlags: u32 = unsafe { ::core::mem::transmute(LastRowFlags) }; + LastRowFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTableColumnSettings { + pub WidthOrWeight: f32, + pub UserID: ImGuiID, + pub Index: ImGuiTableColumnIdx, + pub DisplayOrder: ImGuiTableColumnIdx, + pub SortOrder: ImGuiTableColumnIdx, + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>, +} +impl ImGuiTableColumnSettings { + #[inline] + pub fn SortDirection(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_SortDirection(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn IsEnabled(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_IsEnabled(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn IsStretch(&self) -> ImU8 { + unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_IsStretch(&mut self, val: ImU8) { + unsafe { + let val: u8 = ::core::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SortDirection: ImU8, + IsEnabled: ImU8, + IsStretch: ImU8, + ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> = + Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let SortDirection: u8 = unsafe { ::core::mem::transmute(SortDirection) }; + SortDirection as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let IsEnabled: u8 = unsafe { ::core::mem::transmute(IsEnabled) }; + IsEnabled as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let IsStretch: u8 = unsafe { ::core::mem::transmute(IsStretch) }; + IsStretch as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, PartialEq)] +pub struct ImGuiTableSettings { + pub ID: ImGuiID, + pub SaveFlags: ImGuiTableFlags, + pub RefScale: f32, + pub ColumnsCount: ImGuiTableColumnIdx, + pub ColumnsCountMax: ImGuiTableColumnIdx, + pub WantApply: bool, +} +#[repr(C)] +#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] +pub struct ImFontBuilderIO { + pub FontBuilder_Build: + ::core::option::Option bool>, +} #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { pub fn ImVec2_ImVec2Nil() -> *mut ImVec2; @@ -1752,11 +3660,11 @@ extern "C" { } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igSetScrollX(scroll_x: f32); + pub fn igSetScrollXFloat(scroll_x: f32); } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igSetScrollY(scroll_y: f32); + pub fn igSetScrollYFloat(scroll_y: f32); } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { @@ -1776,11 +3684,11 @@ extern "C" { } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igSetScrollFromPosX(local_x: f32, center_x_ratio: f32); + pub fn igSetScrollFromPosXFloat(local_x: f32, center_x_ratio: f32); } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igSetScrollFromPosY(local_y: f32, center_y_ratio: f32); + pub fn igSetScrollFromPosYFloat(local_y: f32, center_y_ratio: f32); } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { @@ -2757,6 +4665,14 @@ extern "C" { ) -> bool; } #[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginListBox(label: *const cty::c_char, size: ImVec2) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igEndListBox(); +} +#[link(wasm_import_module = "imgui-sys-v0")] extern "C" { pub fn igListBoxStr_arr( label: *const cty::c_char, @@ -2784,22 +4700,6 @@ extern "C" { ) -> bool; } #[link(wasm_import_module = "imgui-sys-v0")] -extern "C" { - pub fn igListBoxHeaderVec2(label: *const cty::c_char, size: ImVec2) -> bool; -} -#[link(wasm_import_module = "imgui-sys-v0")] -extern "C" { - pub fn igListBoxHeaderInt( - label: *const cty::c_char, - items_count: cty::c_int, - height_in_items: cty::c_int, - ) -> bool; -} -#[link(wasm_import_module = "imgui-sys-v0")] -extern "C" { - pub fn igListBoxFooter(); -} -#[link(wasm_import_module = "imgui-sys-v0")] extern "C" { pub fn igPlotLinesFloatPtr( label: *const cty::c_char, @@ -2980,7 +4880,7 @@ extern "C" { } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igIsPopupOpen(str_id: *const cty::c_char, flags: ImGuiPopupFlags) -> bool; + pub fn igIsPopupOpenStr(str_id: *const cty::c_char, flags: ImGuiPopupFlags) -> bool; } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { @@ -3047,7 +4947,7 @@ extern "C" { } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igTableGetColumnName(column_n: cty::c_int) -> *const cty::c_char; + pub fn igTableGetColumnNameInt(column_n: cty::c_int) -> *const cty::c_char; } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { @@ -3262,6 +5162,10 @@ extern "C" { pub fn igSetItemAllowOverlap(); } #[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetMainViewport() -> *mut ImGuiViewport; +} +#[link(wasm_import_module = "imgui-sys-v0")] extern "C" { pub fn igIsRectVisibleNil(size: ImVec2) -> bool; } @@ -3279,11 +5183,11 @@ extern "C" { } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igGetBackgroundDrawList() -> *mut ImDrawList; + pub fn igGetBackgroundDrawListNil() -> *mut ImDrawList; } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { - pub fn igGetForegroundDrawList() -> *mut ImDrawList; + pub fn igGetForegroundDrawListNil() -> *mut ImDrawList; } #[link(wasm_import_module = "imgui-sys-v0")] extern "C" { @@ -4808,6 +6712,2493 @@ extern "C" { ) -> bool; } #[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewport_ImGuiViewport() -> *mut ImGuiViewport; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewport_destroy(self_: *mut ImGuiViewport); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewport_GetCenter(pOut: *mut ImVec2, self_: *mut ImGuiViewport); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewport_GetWorkCenter(pOut: *mut ImVec2, self_: *mut ImGuiViewport); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImHashData(data: *const cty::c_void, data_size: usize, seed: ImU32) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImHashStr(data: *const cty::c_char, data_size: usize, seed: ImU32) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImAlphaBlendColors(col_a: ImU32, col_b: ImU32) -> ImU32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImIsPowerOfTwoInt(v: cty::c_int) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImIsPowerOfTwoU64(v: ImU64) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImUpperPowerOfTwo(v: cty::c_int) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStricmp(str1: *const cty::c_char, str2: *const cty::c_char) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrnicmp( + str1: *const cty::c_char, + str2: *const cty::c_char, + count: usize, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrncpy(dst: *mut cty::c_char, src: *const cty::c_char, count: usize); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrdup(str_: *const cty::c_char) -> *mut cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrdupcpy( + dst: *mut cty::c_char, + p_dst_size: *mut usize, + str_: *const cty::c_char, + ) -> *mut cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrchrRange( + str_begin: *const cty::c_char, + str_end: *const cty::c_char, + c: cty::c_char, + ) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrlenW(str_: *const ImWchar) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStreolRange( + str_: *const cty::c_char, + str_end: *const cty::c_char, + ) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrbolW(buf_mid_line: *const ImWchar, buf_begin: *const ImWchar) -> *const ImWchar; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStristr( + haystack: *const cty::c_char, + haystack_end: *const cty::c_char, + needle: *const cty::c_char, + needle_end: *const cty::c_char, + ) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrTrimBlanks(str_: *mut cty::c_char); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImStrSkipBlank(str_: *const cty::c_char) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFormatString( + buf: *mut cty::c_char, + buf_size: usize, + fmt: *const cty::c_char, + ... + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImParseFormatFindStart(format: *const cty::c_char) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImParseFormatFindEnd(format: *const cty::c_char) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImParseFormatTrimDecorations( + format: *const cty::c_char, + buf: *mut cty::c_char, + buf_size: usize, + ) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImParseFormatPrecision( + format: *const cty::c_char, + default_value: cty::c_int, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImCharIsBlankA(c: cty::c_char) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImCharIsBlankW(c: cty::c_uint) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTextStrToUtf8( + buf: *mut cty::c_char, + buf_size: cty::c_int, + in_text: *const ImWchar, + in_text_end: *const ImWchar, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTextCharFromUtf8( + out_char: *mut cty::c_uint, + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTextStrFromUtf8( + buf: *mut ImWchar, + buf_size: cty::c_int, + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + in_remaining: *mut *const cty::c_char, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTextCountCharsFromUtf8( + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTextCountUtf8BytesFromChar( + in_text: *const cty::c_char, + in_text_end: *const cty::c_char, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTextCountUtf8BytesFromStr( + in_text: *const ImWchar, + in_text_end: *const ImWchar, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFileOpen(filename: *const cty::c_char, mode: *const cty::c_char) -> ImFileHandle; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFileClose(file: ImFileHandle) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFileGetSize(file: ImFileHandle) -> ImU64; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFileRead( + data: *mut cty::c_void, + size: ImU64, + count: ImU64, + file: ImFileHandle, + ) -> ImU64; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFileWrite( + data: *const cty::c_void, + size: ImU64, + count: ImU64, + file: ImFileHandle, + ) -> ImU64; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFileLoadToMemory( + filename: *const cty::c_char, + mode: *const cty::c_char, + out_file_size: *mut usize, + padding_bytes: cty::c_int, + ) -> *mut cty::c_void; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImPowFloat(x: f32, y: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImPowdouble(x: f64, y: f64) -> f64; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLogFloat(x: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLogdouble(x: f64) -> f64; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImAbsFloat(x: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImAbsdouble(x: f64) -> f64; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImSignFloat(x: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImSigndouble(x: f64) -> f64; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImMin(pOut: *mut ImVec2, lhs: ImVec2, rhs: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImMax(pOut: *mut ImVec2, lhs: ImVec2, rhs: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImClamp(pOut: *mut ImVec2, v: ImVec2, mn: ImVec2, mx: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLerpVec2Float(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, t: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLerpVec2Vec2(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, t: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLerpVec4(pOut: *mut ImVec4, a: ImVec4, b: ImVec4, t: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImSaturate(f: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLengthSqrVec2(lhs: ImVec2) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLengthSqrVec4(lhs: ImVec4) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImInvLength(lhs: ImVec2, fail_value: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFloorFloat(f: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFloorVec2(pOut: *mut ImVec2, v: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImModPositive(a: cty::c_int, b: cty::c_int) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImDot(a: ImVec2, b: ImVec2) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImRotate(pOut: *mut ImVec2, v: ImVec2, cos_a: f32, sin_a: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLinearSweep(current: f32, target: f32, speed: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImMul(pOut: *mut ImVec2, lhs: ImVec2, rhs: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBezierCubicCalc( + pOut: *mut ImVec2, + p1: ImVec2, + p2: ImVec2, + p3: ImVec2, + p4: ImVec2, + t: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBezierCubicClosestPoint( + pOut: *mut ImVec2, + p1: ImVec2, + p2: ImVec2, + p3: ImVec2, + p4: ImVec2, + p: ImVec2, + num_segments: cty::c_int, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBezierCubicClosestPointCasteljau( + pOut: *mut ImVec2, + p1: ImVec2, + p2: ImVec2, + p3: ImVec2, + p4: ImVec2, + p: ImVec2, + tess_tol: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBezierQuadraticCalc(pOut: *mut ImVec2, p1: ImVec2, p2: ImVec2, p3: ImVec2, t: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImLineClosestPoint(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, p: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTriangleContainsPoint(a: ImVec2, b: ImVec2, c: ImVec2, p: ImVec2) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTriangleClosestPoint(pOut: *mut ImVec2, a: ImVec2, b: ImVec2, c: ImVec2, p: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTriangleBarycentricCoords( + a: ImVec2, + b: ImVec2, + c: ImVec2, + p: ImVec2, + out_u: *mut f32, + out_v: *mut f32, + out_w: *mut f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImTriangleArea(a: ImVec2, b: ImVec2, c: ImVec2) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImGetDirQuadrantFromDelta(dx: f32, dy: f32) -> ImGuiDir; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImVec1_ImVec1Nil() -> *mut ImVec1; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImVec1_destroy(self_: *mut ImVec1); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImVec1_ImVec1Float(_x: f32) -> *mut ImVec1; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImVec2ih_ImVec2ihNil() -> *mut ImVec2ih; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImVec2ih_destroy(self_: *mut ImVec2ih); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImVec2ih_ImVec2ihshort(_x: cty::c_short, _y: cty::c_short) -> *mut ImVec2ih; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImVec2ih_ImVec2ihVec2(rhs: ImVec2) -> *mut ImVec2ih; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ImRectNil() -> *mut ImRect; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_destroy(self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ImRectVec2(min: ImVec2, max: ImVec2) -> *mut ImRect; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ImRectVec4(v: ImVec4) -> *mut ImRect; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ImRectFloat(x1: f32, y1: f32, x2: f32, y2: f32) -> *mut ImRect; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetCenter(pOut: *mut ImVec2, self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetSize(pOut: *mut ImVec2, self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetWidth(self_: *mut ImRect) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetHeight(self_: *mut ImRect) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetTL(pOut: *mut ImVec2, self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetTR(pOut: *mut ImVec2, self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetBL(pOut: *mut ImVec2, self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_GetBR(pOut: *mut ImVec2, self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ContainsVec2(self_: *mut ImRect, p: ImVec2) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ContainsRect(self_: *mut ImRect, r: ImRect) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_Overlaps(self_: *mut ImRect, r: ImRect) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_AddVec2(self_: *mut ImRect, p: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_AddRect(self_: *mut ImRect, r: ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ExpandFloat(self_: *mut ImRect, amount: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ExpandVec2(self_: *mut ImRect, amount: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_Translate(self_: *mut ImRect, d: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_TranslateX(self_: *mut ImRect, dx: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_TranslateY(self_: *mut ImRect, dy: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ClipWith(self_: *mut ImRect, r: ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ClipWithFull(self_: *mut ImRect, r: ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_Floor(self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_IsInverted(self_: *mut ImRect) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImRect_ToVec4(pOut: *mut ImVec4, self_: *mut ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBitArrayTestBit(arr: *const ImU32, n: cty::c_int) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBitArrayClearBit(arr: *mut ImU32, n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBitArraySetBit(arr: *mut ImU32, n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImBitArraySetBitRange(arr: *mut ImU32, n: cty::c_int, n2: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImBitVector_Create(self_: *mut ImBitVector, sz: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImBitVector_Clear(self_: *mut ImBitVector); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImBitVector_TestBit(self_: *mut ImBitVector, n: cty::c_int) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImBitVector_SetBit(self_: *mut ImBitVector, n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImBitVector_ClearBit(self_: *mut ImBitVector, n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImDrawListSharedData_ImDrawListSharedData() -> *mut ImDrawListSharedData; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImDrawListSharedData_destroy(self_: *mut ImDrawListSharedData); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImDrawListSharedData_SetCircleSegmentMaxError( + self_: *mut ImDrawListSharedData, + max_error: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImDrawDataBuilder_Clear(self_: *mut ImDrawDataBuilder); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImDrawDataBuilder_ClearFreeMemory(self_: *mut ImDrawDataBuilder); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImDrawDataBuilder_GetDrawListCount(self_: *mut ImDrawDataBuilder) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImDrawDataBuilder_FlattenIntoSingleLayer(self_: *mut ImDrawDataBuilder); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStyleMod_ImGuiStyleModInt(idx: ImGuiStyleVar, v: cty::c_int) -> *mut ImGuiStyleMod; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStyleMod_destroy(self_: *mut ImGuiStyleMod); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStyleMod_ImGuiStyleModFloat(idx: ImGuiStyleVar, v: f32) -> *mut ImGuiStyleMod; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStyleMod_ImGuiStyleModVec2(idx: ImGuiStyleVar, v: ImVec2) -> *mut ImGuiStyleMod; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiMenuColumns_ImGuiMenuColumns() -> *mut ImGuiMenuColumns; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiMenuColumns_destroy(self_: *mut ImGuiMenuColumns); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiMenuColumns_Update( + self_: *mut ImGuiMenuColumns, + count: cty::c_int, + spacing: f32, + clear: bool, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiMenuColumns_DeclColumns( + self_: *mut ImGuiMenuColumns, + w0: f32, + w1: f32, + w2: f32, + ) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiMenuColumns_CalcExtraSpace(self_: *mut ImGuiMenuColumns, avail_w: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_ImGuiInputTextState() -> *mut ImGuiInputTextState; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_destroy(self_: *mut ImGuiInputTextState); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_ClearText(self_: *mut ImGuiInputTextState); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_ClearFreeMemory(self_: *mut ImGuiInputTextState); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_GetUndoAvailCount(self_: *mut ImGuiInputTextState) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_GetRedoAvailCount(self_: *mut ImGuiInputTextState) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_OnKeyPressed(self_: *mut ImGuiInputTextState, key: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_CursorAnimReset(self_: *mut ImGuiInputTextState); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_CursorClamp(self_: *mut ImGuiInputTextState); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_HasSelection(self_: *mut ImGuiInputTextState) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_ClearSelection(self_: *mut ImGuiInputTextState); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiInputTextState_SelectAll(self_: *mut ImGuiInputTextState); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiPopupData_ImGuiPopupData() -> *mut ImGuiPopupData; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiPopupData_destroy(self_: *mut ImGuiPopupData); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNavMoveResult_ImGuiNavMoveResult() -> *mut ImGuiNavMoveResult; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNavMoveResult_destroy(self_: *mut ImGuiNavMoveResult); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNavMoveResult_Clear(self_: *mut ImGuiNavMoveResult); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNextWindowData_ImGuiNextWindowData() -> *mut ImGuiNextWindowData; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNextWindowData_destroy(self_: *mut ImGuiNextWindowData); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNextWindowData_ClearFlags(self_: *mut ImGuiNextWindowData); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNextItemData_ImGuiNextItemData() -> *mut ImGuiNextItemData; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNextItemData_destroy(self_: *mut ImGuiNextItemData); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiNextItemData_ClearFlags(self_: *mut ImGuiNextItemData); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr(ptr: *mut cty::c_void) -> *mut ImGuiPtrOrIndex; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiPtrOrIndex_destroy(self_: *mut ImGuiPtrOrIndex); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiPtrOrIndex_ImGuiPtrOrIndexInt(index: cty::c_int) -> *mut ImGuiPtrOrIndex; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiOldColumnData_ImGuiOldColumnData() -> *mut ImGuiOldColumnData; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiOldColumnData_destroy(self_: *mut ImGuiOldColumnData); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiOldColumns_ImGuiOldColumns() -> *mut ImGuiOldColumns; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiOldColumns_destroy(self_: *mut ImGuiOldColumns); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewportP_ImGuiViewportP() -> *mut ImGuiViewportP; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewportP_destroy(self_: *mut ImGuiViewportP); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewportP_GetMainRect(pOut: *mut ImRect, self_: *mut ImGuiViewportP); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewportP_GetWorkRect(pOut: *mut ImRect, self_: *mut ImGuiViewportP); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiViewportP_UpdateWorkRect(self_: *mut ImGuiViewportP); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindowSettings_ImGuiWindowSettings() -> *mut ImGuiWindowSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindowSettings_destroy(self_: *mut ImGuiWindowSettings); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindowSettings_GetName(self_: *mut ImGuiWindowSettings) -> *mut cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiSettingsHandler_ImGuiSettingsHandler() -> *mut ImGuiSettingsHandler; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiSettingsHandler_destroy(self_: *mut ImGuiSettingsHandler); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiMetricsConfig_ImGuiMetricsConfig() -> *mut ImGuiMetricsConfig; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiMetricsConfig_destroy(self_: *mut ImGuiMetricsConfig); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStackSizes_ImGuiStackSizes() -> *mut ImGuiStackSizes; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStackSizes_destroy(self_: *mut ImGuiStackSizes); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStackSizes_SetToCurrentState(self_: *mut ImGuiStackSizes); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiStackSizes_CompareWithCurrentState(self_: *mut ImGuiStackSizes); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiContextHook_ImGuiContextHook() -> *mut ImGuiContextHook; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiContextHook_destroy(self_: *mut ImGuiContextHook); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiContext_ImGuiContext(shared_font_atlas: *mut ImFontAtlas) -> *mut ImGuiContext; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiContext_destroy(self_: *mut ImGuiContext); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_ImGuiWindow( + context: *mut ImGuiContext, + name: *const cty::c_char, + ) -> *mut ImGuiWindow; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_destroy(self_: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_GetIDStr( + self_: *mut ImGuiWindow, + str_: *const cty::c_char, + str_end: *const cty::c_char, + ) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_GetIDPtr(self_: *mut ImGuiWindow, ptr: *const cty::c_void) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_GetIDInt(self_: *mut ImGuiWindow, n: cty::c_int) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_GetIDNoKeepAliveStr( + self_: *mut ImGuiWindow, + str_: *const cty::c_char, + str_end: *const cty::c_char, + ) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_GetIDNoKeepAlivePtr( + self_: *mut ImGuiWindow, + ptr: *const cty::c_void, + ) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_GetIDNoKeepAliveInt(self_: *mut ImGuiWindow, n: cty::c_int) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_GetIDFromRectangle(self_: *mut ImGuiWindow, r_abs: ImRect) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_Rect(pOut: *mut ImRect, self_: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_CalcFontSize(self_: *mut ImGuiWindow) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_TitleBarHeight(self_: *mut ImGuiWindow) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_TitleBarRect(pOut: *mut ImRect, self_: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_MenuBarHeight(self_: *mut ImGuiWindow) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiWindow_MenuBarRect(pOut: *mut ImRect, self_: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiLastItemDataBackup_ImGuiLastItemDataBackup() -> *mut ImGuiLastItemDataBackup; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiLastItemDataBackup_destroy(self_: *mut ImGuiLastItemDataBackup); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiLastItemDataBackup_Backup(self_: *mut ImGuiLastItemDataBackup); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiLastItemDataBackup_Restore(self_: *mut ImGuiLastItemDataBackup); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTabItem_ImGuiTabItem() -> *mut ImGuiTabItem; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTabItem_destroy(self_: *mut ImGuiTabItem); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTabBar_ImGuiTabBar() -> *mut ImGuiTabBar; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTabBar_destroy(self_: *mut ImGuiTabBar); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTabBar_GetTabOrder(self_: *mut ImGuiTabBar, tab: *const ImGuiTabItem) + -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTabBar_GetTabName( + self_: *mut ImGuiTabBar, + tab: *const ImGuiTabItem, + ) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTableColumn_ImGuiTableColumn() -> *mut ImGuiTableColumn; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTableColumn_destroy(self_: *mut ImGuiTableColumn); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTable_ImGuiTable() -> *mut ImGuiTable; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTable_destroy(self_: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTableColumnSettings_ImGuiTableColumnSettings() -> *mut ImGuiTableColumnSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTableColumnSettings_destroy(self_: *mut ImGuiTableColumnSettings); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTableSettings_ImGuiTableSettings() -> *mut ImGuiTableSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTableSettings_destroy(self_: *mut ImGuiTableSettings); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn ImGuiTableSettings_GetColumnSettings( + self_: *mut ImGuiTableSettings, + ) -> *mut ImGuiTableColumnSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetCurrentWindowRead() -> *mut ImGuiWindow; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetCurrentWindow() -> *mut ImGuiWindow; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindWindowByID(id: ImGuiID) -> *mut ImGuiWindow; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindWindowByName(name: *const cty::c_char) -> *mut ImGuiWindow; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igUpdateWindowParentAndRootLinks( + window: *mut ImGuiWindow, + flags: ImGuiWindowFlags, + parent_window: *mut ImGuiWindow, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCalcWindowNextAutoFitSize(pOut: *mut ImVec2, window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsWindowChildOf(window: *mut ImGuiWindow, potential_parent: *mut ImGuiWindow) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsWindowAbove( + potential_above: *mut ImGuiWindow, + potential_below: *mut ImGuiWindow, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsWindowNavFocusable(window: *mut ImGuiWindow) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetWindowAllowedExtentRect(pOut: *mut ImRect, window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetWindowPosWindowPtr(window: *mut ImGuiWindow, pos: ImVec2, cond: ImGuiCond); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetWindowSizeWindowPtr(window: *mut ImGuiWindow, size: ImVec2, cond: ImGuiCond); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetWindowCollapsedWindowPtr( + window: *mut ImGuiWindow, + collapsed: bool, + cond: ImGuiCond, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetWindowHitTestHole(window: *mut ImGuiWindow, pos: ImVec2, size: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFocusWindow(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFocusTopMostWindowUnderOne( + under_this_window: *mut ImGuiWindow, + ignore_window: *mut ImGuiWindow, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBringWindowToFocusFront(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBringWindowToDisplayFront(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBringWindowToDisplayBack(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetCurrentFont(font: *mut ImFont); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetDefaultFont() -> *mut ImFont; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetForegroundDrawListWindowPtr(window: *mut ImGuiWindow) -> *mut ImDrawList; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetBackgroundDrawListViewportPtr(viewport: *mut ImGuiViewport) -> *mut ImDrawList; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetForegroundDrawListViewportPtr(viewport: *mut ImGuiViewport) -> *mut ImDrawList; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igInitialize(context: *mut ImGuiContext); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igShutdown(context: *mut ImGuiContext); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igUpdateHoveredWindowAndCaptureFlags(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igStartMouseMovingWindow(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igUpdateMouseMovingWindowNewFrame(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igUpdateMouseMovingWindowEndFrame(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igAddContextHook(context: *mut ImGuiContext, hook: *const ImGuiContextHook) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRemoveContextHook(context: *mut ImGuiContext, hook_to_remove: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCallContextHooks(context: *mut ImGuiContext, type_: ImGuiContextHookType); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igMarkIniSettingsDirtyNil(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igMarkIniSettingsDirtyWindowPtr(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igClearIniSettings(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCreateNewWindowSettings(name: *const cty::c_char) -> *mut ImGuiWindowSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindWindowSettings(id: ImGuiID) -> *mut ImGuiWindowSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindOrCreateWindowSettings(name: *const cty::c_char) -> *mut ImGuiWindowSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindSettingsHandler(type_name: *const cty::c_char) -> *mut ImGuiSettingsHandler; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetNextWindowScroll(scroll: ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetScrollXWindowPtr(window: *mut ImGuiWindow, scroll_x: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetScrollYWindowPtr(window: *mut ImGuiWindow, scroll_y: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetScrollFromPosXWindowPtr( + window: *mut ImGuiWindow, + local_x: f32, + center_x_ratio: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetScrollFromPosYWindowPtr( + window: *mut ImGuiWindow, + local_y: f32, + center_y_ratio: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igScrollToBringRectIntoView( + pOut: *mut ImVec2, + window: *mut ImGuiWindow, + item_rect: ImRect, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetItemID() -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetItemStatusFlags() -> ImGuiItemStatusFlags; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetActiveID() -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetFocusID() -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetItemsFlags() -> ImGuiItemFlags; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetActiveID(id: ImGuiID, window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetFocusID(id: ImGuiID, window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igClearActiveID(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetHoveredID() -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetHoveredID(id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igKeepAliveID(id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igMarkItemEdited(id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPushOverrideID(id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetIDWithSeed( + str_id_begin: *const cty::c_char, + str_id_end: *const cty::c_char, + seed: ImGuiID, + ) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igItemSizeVec2(size: ImVec2, text_baseline_y: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igItemSizeRect(bb: ImRect, text_baseline_y: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igItemAdd(bb: ImRect, id: ImGuiID, nav_bb: *const ImRect) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igItemHoverable(bb: ImRect, id: ImGuiID) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsClippedEx(bb: ImRect, id: ImGuiID, clip_even_when_logged: bool) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetLastItemData( + window: *mut ImGuiWindow, + item_id: ImGuiID, + status_flags: ImGuiItemStatusFlags, + item_rect: ImRect, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFocusableItemRegister(window: *mut ImGuiWindow, id: ImGuiID) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFocusableItemUnregister(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCalcItemSize(pOut: *mut ImVec2, size: ImVec2, default_w: f32, default_h: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCalcWrapWidthForPos(pos: ImVec2, wrap_pos_x: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPushMultiItemsWidths(components: cty::c_int, width_full: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPushItemFlag(option: ImGuiItemFlags, enabled: bool); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPopItemFlag(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsItemToggledSelection() -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetContentRegionMaxAbs(pOut: *mut ImVec2); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igShrinkWidths(items: *mut ImGuiShrinkWidthItem, count: cty::c_int, width_excess: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igLogBegin(type_: ImGuiLogType, auto_open_depth: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igLogToBuffer(auto_open_depth: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igLogRenderedText( + ref_pos: *const ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igLogSetNextTextDecoration(prefix: *const cty::c_char, suffix: *const cty::c_char); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginChildEx( + name: *const cty::c_char, + id: ImGuiID, + size_arg: ImVec2, + border: bool, + flags: ImGuiWindowFlags, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igOpenPopupEx(id: ImGuiID, popup_flags: ImGuiPopupFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igClosePopupToLevel(remaining: cty::c_int, restore_focus_to_window_under_popup: bool); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igClosePopupsOverWindow( + ref_window: *mut ImGuiWindow, + restore_focus_to_window_under_popup: bool, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsPopupOpenID(id: ImGuiID, popup_flags: ImGuiPopupFlags) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginPopupEx(id: ImGuiID, extra_flags: ImGuiWindowFlags) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginTooltipEx(extra_flags: ImGuiWindowFlags, tooltip_flags: ImGuiTooltipFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetTopMostPopupModal() -> *mut ImGuiWindow; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindBestWindowPosForPopup(pOut: *mut ImVec2, window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindBestWindowPosForPopupEx( + pOut: *mut ImVec2, + ref_pos: ImVec2, + size: ImVec2, + last_dir: *mut ImGuiDir, + r_outer: ImRect, + r_avoid: ImRect, + policy: ImGuiPopupPositionPolicy, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igNavInitWindow(window: *mut ImGuiWindow, force_reinit: bool); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igNavMoveRequestButNoResultYet() -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igNavMoveRequestCancel(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igNavMoveRequestForward( + move_dir: ImGuiDir, + clip_dir: ImGuiDir, + bb_rel: ImRect, + move_flags: ImGuiNavMoveFlags, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igNavMoveRequestTryWrapping(window: *mut ImGuiWindow, move_flags: ImGuiNavMoveFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetNavInputAmount(n: ImGuiNavInput, mode: ImGuiInputReadMode) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetNavInputAmount2d( + pOut: *mut ImVec2, + dir_sources: ImGuiNavDirSourceFlags, + mode: ImGuiInputReadMode, + slow_factor: f32, + fast_factor: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCalcTypematicRepeatAmount( + t0: f32, + t1: f32, + repeat_delay: f32, + repeat_rate: f32, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igActivateItem(id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetNavID(id: ImGuiID, nav_layer: cty::c_int, focus_scope_id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetNavIDWithRectRel( + id: ImGuiID, + nav_layer: cty::c_int, + focus_scope_id: ImGuiID, + rect_rel: ImRect, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPushFocusScope(id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPopFocusScope(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetFocusedFocusScope() -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetFocusScope() -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetItemUsingMouseWheel(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsActiveIdUsingNavDir(dir: ImGuiDir) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsActiveIdUsingNavInput(input: ImGuiNavInput) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsActiveIdUsingKey(key: ImGuiKey) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsMouseDragPastThreshold(button: ImGuiMouseButton, lock_threshold: f32) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsKeyPressedMap(key: ImGuiKey, repeat: bool) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsNavInputDown(n: ImGuiNavInput) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsNavInputTest(n: ImGuiNavInput, rm: ImGuiInputReadMode) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetMergedKeyModFlags() -> ImGuiKeyModFlags; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginDragDropTargetCustom(bb: ImRect, id: ImGuiID) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igClearDragDrop(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igIsDragDropPayloadBeingAccepted() -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSetWindowClipRectBeforeSetChannel(window: *mut ImGuiWindow, clip_rect: ImRect); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginColumns( + str_id: *const cty::c_char, + count: cty::c_int, + flags: ImGuiOldColumnFlags, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igEndColumns(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPushColumnClipRect(column_index: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPushColumnsBackground(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPopColumnsBackground(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetColumnsID(str_id: *const cty::c_char, count: cty::c_int) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindOrCreateColumns(window: *mut ImGuiWindow, id: ImGuiID) -> *mut ImGuiOldColumns; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetColumnOffsetFromNorm(columns: *const ImGuiOldColumns, offset_norm: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetColumnNormFromOffset(columns: *const ImGuiOldColumns, offset: f32) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableOpenContextMenu(column_n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSetColumnEnabled(column_n: cty::c_int, enabled: bool); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSetColumnWidth(column_n: cty::c_int, width: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSetColumnSortDirection( + column_n: cty::c_int, + sort_direction: ImGuiSortDirection, + append_to_sort_specs: bool, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetHoveredColumn() -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetHeaderRowHeight() -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTablePushBackgroundChannel(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTablePopBackgroundChannel(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableFindByID(id: ImGuiID) -> *mut ImGuiTable; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginTableEx( + name: *const cty::c_char, + id: ImGuiID, + columns_count: cty::c_int, + flags: ImGuiTableFlags, + outer_size: ImVec2, + inner_width: f32, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableBeginInitMemory(table: *mut ImGuiTable, columns_count: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableBeginApplyRequests(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSetupDrawChannels(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableUpdateLayout(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableUpdateBorders(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableUpdateColumnsWeightFromWidth(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableDrawBorders(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableDrawContextMenu(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableMergeDrawChannels(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSortSpecsSanitize(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSortSpecsBuild(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetColumnNextSortDirection(column: *mut ImGuiTableColumn) -> ImGuiSortDirection; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableFixColumnSortDirection(table: *mut ImGuiTable, column: *mut ImGuiTableColumn); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetColumnWidthAuto(table: *mut ImGuiTable, column: *mut ImGuiTableColumn) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableBeginRow(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableEndRow(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableBeginCell(table: *mut ImGuiTable, column_n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableEndCell(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetCellBgRect(pOut: *mut ImRect, table: *const ImGuiTable, column_n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetColumnNameTablePtr( + table: *const ImGuiTable, + column_n: cty::c_int, + ) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetColumnResizeID( + table: *const ImGuiTable, + column_n: cty::c_int, + instance_no: cty::c_int, + ) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetMaxColumnWidth(table: *const ImGuiTable, column_n: cty::c_int) -> f32; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSetColumnWidthAutoSingle(table: *mut ImGuiTable, column_n: cty::c_int); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSetColumnWidthAutoAll(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableRemove(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGcCompactTransientBuffers(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGcCompactSettings(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableLoadSettings(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSaveSettings(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableResetSettings(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableGetBoundSettings(table: *mut ImGuiTable) -> *mut ImGuiTableSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSettingsInstallHandler(context: *mut ImGuiContext); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSettingsCreate(id: ImGuiID, columns_count: cty::c_int) + -> *mut ImGuiTableSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTableSettingsFindByID(id: ImGuiID) -> *mut ImGuiTableSettings; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igBeginTabBarEx(tab_bar: *mut ImGuiTabBar, bb: ImRect, flags: ImGuiTabBarFlags) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabBarFindTabByID(tab_bar: *mut ImGuiTabBar, tab_id: ImGuiID) -> *mut ImGuiTabItem; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabBarRemoveTab(tab_bar: *mut ImGuiTabBar, tab_id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabBarCloseTab(tab_bar: *mut ImGuiTabBar, tab: *mut ImGuiTabItem); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabBarQueueReorder( + tab_bar: *mut ImGuiTabBar, + tab: *const ImGuiTabItem, + dir: cty::c_int, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabBarProcessReorder(tab_bar: *mut ImGuiTabBar) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabItemEx( + tab_bar: *mut ImGuiTabBar, + label: *const cty::c_char, + p_open: *mut bool, + flags: ImGuiTabItemFlags, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabItemCalcSize(pOut: *mut ImVec2, label: *const cty::c_char, has_close_button: bool); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabItemBackground( + draw_list: *mut ImDrawList, + bb: ImRect, + flags: ImGuiTabItemFlags, + col: ImU32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTabItemLabelAndCloseButton( + draw_list: *mut ImDrawList, + bb: ImRect, + flags: ImGuiTabItemFlags, + frame_padding: ImVec2, + label: *const cty::c_char, + tab_id: ImGuiID, + close_button_id: ImGuiID, + is_contents_visible: bool, + out_just_closed: *mut bool, + out_text_clipped: *mut bool, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderText( + pos: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + hide_text_after_hash: bool, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderTextWrapped( + pos: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + wrap_width: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderTextClipped( + pos_min: ImVec2, + pos_max: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + text_size_if_known: *const ImVec2, + align: ImVec2, + clip_rect: *const ImRect, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderTextClippedEx( + draw_list: *mut ImDrawList, + pos_min: ImVec2, + pos_max: ImVec2, + text: *const cty::c_char, + text_end: *const cty::c_char, + text_size_if_known: *const ImVec2, + align: ImVec2, + clip_rect: *const ImRect, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderTextEllipsis( + draw_list: *mut ImDrawList, + pos_min: ImVec2, + pos_max: ImVec2, + clip_max_x: f32, + ellipsis_max_x: f32, + text: *const cty::c_char, + text_end: *const cty::c_char, + text_size_if_known: *const ImVec2, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderFrame( + p_min: ImVec2, + p_max: ImVec2, + fill_col: ImU32, + border: bool, + rounding: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderFrameBorder(p_min: ImVec2, p_max: ImVec2, rounding: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderColorRectWithAlphaCheckerboard( + draw_list: *mut ImDrawList, + p_min: ImVec2, + p_max: ImVec2, + fill_col: ImU32, + grid_step: f32, + grid_off: ImVec2, + rounding: f32, + rounding_corners_flags: cty::c_int, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderNavHighlight(bb: ImRect, id: ImGuiID, flags: ImGuiNavHighlightFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igFindRenderedTextEnd( + text: *const cty::c_char, + text_end: *const cty::c_char, + ) -> *const cty::c_char; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderArrow( + draw_list: *mut ImDrawList, + pos: ImVec2, + col: ImU32, + dir: ImGuiDir, + scale: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderBullet(draw_list: *mut ImDrawList, pos: ImVec2, col: ImU32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderCheckMark(draw_list: *mut ImDrawList, pos: ImVec2, col: ImU32, sz: f32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderMouseCursor( + draw_list: *mut ImDrawList, + pos: ImVec2, + scale: f32, + mouse_cursor: ImGuiMouseCursor, + col_fill: ImU32, + col_border: ImU32, + col_shadow: ImU32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderArrowPointingAt( + draw_list: *mut ImDrawList, + pos: ImVec2, + half_sz: ImVec2, + direction: ImGuiDir, + col: ImU32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderRectFilledRangeH( + draw_list: *mut ImDrawList, + rect: ImRect, + col: ImU32, + x_start_norm: f32, + x_end_norm: f32, + rounding: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igRenderRectFilledWithHole( + draw_list: *mut ImDrawList, + outer: ImRect, + inner: ImRect, + col: ImU32, + rounding: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTextEx(text: *const cty::c_char, text_end: *const cty::c_char, flags: ImGuiTextFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igButtonEx(label: *const cty::c_char, size_arg: ImVec2, flags: ImGuiButtonFlags) + -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCloseButton(id: ImGuiID, pos: ImVec2) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCollapseButton(id: ImGuiID, pos: ImVec2) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igArrowButtonEx( + str_id: *const cty::c_char, + dir: ImGuiDir, + size_arg: ImVec2, + flags: ImGuiButtonFlags, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igScrollbar(axis: ImGuiAxis); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igScrollbarEx( + bb: ImRect, + id: ImGuiID, + axis: ImGuiAxis, + p_scroll_v: *mut f32, + avail_v: f32, + contents_v: f32, + rounding_corners: ImDrawCornerFlags, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImageButtonEx( + id: ImGuiID, + texture_id: ImTextureID, + size: ImVec2, + uv0: ImVec2, + uv1: ImVec2, + padding: ImVec2, + bg_col: ImVec4, + tint_col: ImVec4, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetWindowScrollbarRect(pOut: *mut ImRect, window: *mut ImGuiWindow, axis: ImGuiAxis); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetWindowScrollbarID(window: *mut ImGuiWindow, axis: ImGuiAxis) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetWindowResizeID(window: *mut ImGuiWindow, n: cty::c_int) -> ImGuiID; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSeparatorEx(flags: ImGuiSeparatorFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCheckboxFlagsS64Ptr( + label: *const cty::c_char, + flags: *mut ImS64, + flags_value: ImS64, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igCheckboxFlagsU64Ptr( + label: *const cty::c_char, + flags: *mut ImU64, + flags_value: ImU64, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igButtonBehavior( + bb: ImRect, + id: ImGuiID, + out_hovered: *mut bool, + out_held: *mut bool, + flags: ImGuiButtonFlags, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDragBehavior( + id: ImGuiID, + data_type: ImGuiDataType, + p_v: *mut cty::c_void, + v_speed: f32, + p_min: *const cty::c_void, + p_max: *const cty::c_void, + format: *const cty::c_char, + flags: ImGuiSliderFlags, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSliderBehavior( + bb: ImRect, + id: ImGuiID, + data_type: ImGuiDataType, + p_v: *mut cty::c_void, + p_min: *const cty::c_void, + p_max: *const cty::c_void, + format: *const cty::c_char, + flags: ImGuiSliderFlags, + out_grab_bb: *mut ImRect, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igSplitterBehavior( + bb: ImRect, + id: ImGuiID, + axis: ImGuiAxis, + size1: *mut f32, + size2: *mut f32, + min_size1: f32, + min_size2: f32, + hover_extend: f32, + hover_visibility_delay: f32, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTreeNodeBehavior( + id: ImGuiID, + flags: ImGuiTreeNodeFlags, + label: *const cty::c_char, + label_end: *const cty::c_char, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTreeNodeBehaviorIsOpen(id: ImGuiID, flags: ImGuiTreeNodeFlags) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTreePushOverrideID(id: ImGuiID); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDataTypeGetInfo(data_type: ImGuiDataType) -> *const ImGuiDataTypeInfo; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDataTypeFormatString( + buf: *mut cty::c_char, + buf_size: cty::c_int, + data_type: ImGuiDataType, + p_data: *const cty::c_void, + format: *const cty::c_char, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDataTypeApplyOp( + data_type: ImGuiDataType, + op: cty::c_int, + output: *mut cty::c_void, + arg_1: *const cty::c_void, + arg_2: *const cty::c_void, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDataTypeApplyOpFromText( + buf: *const cty::c_char, + initial_value_buf: *const cty::c_char, + data_type: ImGuiDataType, + p_data: *mut cty::c_void, + format: *const cty::c_char, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDataTypeCompare( + data_type: ImGuiDataType, + arg_1: *const cty::c_void, + arg_2: *const cty::c_void, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDataTypeClamp( + data_type: ImGuiDataType, + p_data: *mut cty::c_void, + p_min: *const cty::c_void, + p_max: *const cty::c_void, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igInputTextEx( + label: *const cty::c_char, + hint: *const cty::c_char, + buf: *mut cty::c_char, + buf_size: cty::c_int, + size_arg: ImVec2, + flags: ImGuiInputTextFlags, + callback: ImGuiInputTextCallback, + user_data: *mut cty::c_void, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTempInputText( + bb: ImRect, + id: ImGuiID, + label: *const cty::c_char, + buf: *mut cty::c_char, + buf_size: cty::c_int, + flags: ImGuiInputTextFlags, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTempInputScalar( + bb: ImRect, + id: ImGuiID, + label: *const cty::c_char, + data_type: ImGuiDataType, + p_data: *mut cty::c_void, + format: *const cty::c_char, + p_clamp_min: *const cty::c_void, + p_clamp_max: *const cty::c_void, + ) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igTempInputIsActive(id: ImGuiID) -> bool; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGetInputTextState(id: ImGuiID) -> *mut ImGuiInputTextState; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igColorTooltip(text: *const cty::c_char, col: *const f32, flags: ImGuiColorEditFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igColorEditOptionsPopup(col: *const f32, flags: ImGuiColorEditFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igColorPickerOptionsPopup(ref_col: *const f32, flags: ImGuiColorEditFlags); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igPlotEx( + plot_type: ImGuiPlotType, + label: *const cty::c_char, + values_getter: ::core::option::Option< + unsafe extern "C" fn(data: *mut cty::c_void, idx: cty::c_int) -> f32, + >, + data: *mut cty::c_void, + values_count: cty::c_int, + values_offset: cty::c_int, + overlay_text: *const cty::c_char, + scale_min: f32, + scale_max: f32, + frame_size: ImVec2, + ) -> cty::c_int; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igShadeVertsLinearColorGradientKeepAlpha( + draw_list: *mut ImDrawList, + vert_start_idx: cty::c_int, + vert_end_idx: cty::c_int, + gradient_p0: ImVec2, + gradient_p1: ImVec2, + col0: ImU32, + col1: ImU32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igShadeVertsLinearUV( + draw_list: *mut ImDrawList, + vert_start_idx: cty::c_int, + vert_end_idx: cty::c_int, + a: ImVec2, + b: ImVec2, + uv_a: ImVec2, + uv_b: ImVec2, + clamp: bool, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGcCompactTransientMiscBuffers(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGcCompactTransientWindowBuffers(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igGcAwakeTransientWindowBuffers(window: *mut ImGuiWindow); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igErrorCheckEndFrameRecover( + log_callback: ImGuiErrorLogCallback, + user_data: *mut cty::c_void, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugDrawItemRect(col: ImU32); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugStartItemPicker(); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeColumns(columns: *mut ImGuiOldColumns); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeDrawList( + window: *mut ImGuiWindow, + draw_list: *const ImDrawList, + label: *const cty::c_char, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeDrawCmdShowMeshAndBoundingBox( + out_draw_list: *mut ImDrawList, + draw_list: *const ImDrawList, + draw_cmd: *const ImDrawCmd, + show_mesh: bool, + show_aabb: bool, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeStorage(storage: *mut ImGuiStorage, label: *const cty::c_char); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeTabBar(tab_bar: *mut ImGuiTabBar, label: *const cty::c_char); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeTable(table: *mut ImGuiTable); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeTableSettings(settings: *mut ImGuiTableSettings); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeWindow(window: *mut ImGuiWindow, label: *const cty::c_char); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeWindowSettings(settings: *mut ImGuiWindowSettings); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeWindowsList(windows: *mut ImVector_ImGuiWindowPtr, label: *const cty::c_char); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugNodeViewport(viewport: *mut ImGuiViewportP); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igDebugRenderViewportThumbnail( + draw_list: *mut ImDrawList, + viewport: *mut ImGuiViewportP, + bb: ImRect, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasGetBuilderForStbTruetype() -> *const ImFontBuilderIO; +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildInit(atlas: *mut ImFontAtlas); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildSetupFont( + atlas: *mut ImFontAtlas, + font: *mut ImFont, + font_config: *mut ImFontConfig, + ascent: f32, + descent: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildPackCustomRects( + atlas: *mut ImFontAtlas, + stbrp_context_opaque: *mut cty::c_void, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildFinish(atlas: *mut ImFontAtlas); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildRender8bppRectFromString( + atlas: *mut ImFontAtlas, + x: cty::c_int, + y: cty::c_int, + w: cty::c_int, + h: cty::c_int, + in_str: *const cty::c_char, + in_marker_char: cty::c_char, + in_marker_pixel_value: cty::c_uchar, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildRender32bppRectFromString( + atlas: *mut ImFontAtlas, + x: cty::c_int, + y: cty::c_int, + w: cty::c_int, + h: cty::c_int, + in_str: *const cty::c_char, + in_marker_char: cty::c_char, + in_marker_pixel_value: cty::c_uint, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildMultiplyCalcLookupTable( + out_table: *mut cty::c_uchar, + in_multiply_factor: f32, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] +extern "C" { + pub fn igImFontAtlasBuildMultiplyRectAlpha8( + table: *const cty::c_uchar, + pixels: *mut cty::c_uchar, + x: cty::c_int, + y: cty::c_int, + w: cty::c_int, + h: cty::c_int, + stride: cty::c_int, + ); +} +#[link(wasm_import_module = "imgui-sys-v0")] extern "C" { pub fn igLogText(fmt: *const cty::c_char, ...); } diff --git a/imgui-sys/third-party/cimgui b/imgui-sys/third-party/cimgui index 6791a95..25aa25b 160000 --- a/imgui-sys/third-party/cimgui +++ b/imgui-sys/third-party/cimgui @@ -1 +1 @@ -Subproject commit 6791a95f79d51d8ca9df2b32d2b87a0c17a3c093 +Subproject commit 25aa25bd835eaacdfabb9289fb33c21cd6e65987 diff --git a/imgui/src/draw_list.rs b/imgui/src/draw_list.rs index b117dc7..c6cb21d 100644 --- a/imgui/src/draw_list.rs +++ b/imgui/src/draw_list.rs @@ -50,7 +50,7 @@ impl<'ui> DrawListMut<'ui> { pub(crate) fn background(_: &Ui<'ui>) -> Self { Self::lock_draw_list(); Self { - draw_list: unsafe { sys::igGetBackgroundDrawList() }, + draw_list: unsafe { sys::igGetBackgroundDrawListNil() }, _phantom: PhantomData, } } @@ -58,7 +58,7 @@ impl<'ui> DrawListMut<'ui> { pub(crate) fn foreground(_: &Ui<'ui>) -> Self { Self::lock_draw_list(); Self { - draw_list: unsafe { sys::igGetForegroundDrawList() }, + draw_list: unsafe { sys::igGetForegroundDrawListNil() }, _phantom: PhantomData, } } diff --git a/imgui/src/fonts/atlas.rs b/imgui/src/fonts/atlas.rs index 3156a70..e61e702 100644 --- a/imgui/src/fonts/atlas.rs +++ b/imgui/src/fonts/atlas.rs @@ -58,6 +58,8 @@ pub struct FontAtlas { custom_rects: sys::ImVector_ImFontAtlasCustomRect, config_data: sys::ImVector_ImFontConfig, tex_uv_lines: [[f32; 4]; 64], + font_builder_io: *const sys::ImFontBuilderIO, + font_builder_flags: i32, pack_id_mouse_cursors: i32, pack_id_lines: i32, } @@ -302,7 +304,7 @@ pub struct FontConfig { /// Maximum advance_x for glyphs pub glyph_max_advance_x: f32, /// Settings for a custom font rasterizer if used - pub rasterizer_flags: u32, + pub font_builder_flags: u32, /// Brighten (>1.0) or darken (<1.0) font output pub rasterizer_multiply: f32, /// Explicitly specify the ellipsis character. @@ -324,7 +326,7 @@ impl Default for FontConfig { glyph_ranges: FontGlyphRanges::default(), glyph_min_advance_x: 0.0, glyph_max_advance_x: f32::MAX, - rasterizer_flags: 0, + font_builder_flags: 0, rasterizer_multiply: 1.0, ellipsis_char: None, name: None, @@ -343,7 +345,7 @@ impl FontConfig { raw.GlyphRanges = unsafe { self.glyph_ranges.to_ptr(atlas) }; raw.GlyphMinAdvanceX = self.glyph_min_advance_x; raw.GlyphMaxAdvanceX = self.glyph_max_advance_x; - raw.RasterizerFlags = self.rasterizer_flags; + raw.FontBuilderFlags = self.font_builder_flags; raw.RasterizerMultiply = self.rasterizer_multiply; raw.EllipsisChar = self.ellipsis_char.map(|x| x as u16).unwrap_or(0xffff); if let Some(name) = self.name.as_ref() { @@ -396,8 +398,8 @@ fn test_font_config_default() { sys_font_config.GlyphMaxAdvanceX ); assert_eq!( - font_config.rasterizer_flags, - sys_font_config.RasterizerFlags + font_config.font_builder_flags, + sys_font_config.FontBuilderFlags ); assert_eq!( font_config.rasterizer_multiply, diff --git a/imgui/src/lib.rs b/imgui/src/lib.rs index b104421..5b0d1dd 100644 --- a/imgui/src/lib.rs +++ b/imgui/src/lib.rs @@ -99,7 +99,7 @@ pub fn dear_imgui_version() -> &'static str { #[test] fn test_version() { // TODO: what's the point of this test? - assert_eq!(dear_imgui_version(), "1.80"); + assert_eq!(dear_imgui_version(), "1.81"); } impl Context { diff --git a/imgui/src/render/draw_data.rs b/imgui/src/render/draw_data.rs index 1627e85..4446d6e 100644 --- a/imgui/src/render/draw_data.rs +++ b/imgui/src/render/draw_data.rs @@ -9,14 +9,14 @@ use crate::sys; pub struct DrawData { /// Only valid after render() is called and before the next new frame() is called. valid: bool, - // Array of DrawList. - cmd_lists: *mut *mut DrawList, /// Number of DrawList to render. cmd_lists_count: i32, /// For convenience, sum of all draw list index buffer sizes. pub total_idx_count: i32, /// For convenience, sum of all draw list vertex buffer sizes. pub total_vtx_count: i32, + // Array of DrawList. + cmd_lists: *mut *mut DrawList, /// Upper-left position of the viewport to render. /// /// (= upper-left corner of the orthogonal projection matrix to use) diff --git a/imgui/src/widget/list_box.rs b/imgui/src/widget/list_box.rs index 9bf4ffc..9b7098d 100644 --- a/imgui/src/widget/list_box.rs +++ b/imgui/src/widget/list_box.rs @@ -4,20 +4,12 @@ use crate::string::ImStr; use crate::sys; use crate::Ui; -#[derive(Copy, Clone, Debug)] -enum Size { - Vec(sys::ImVec2), - Items { - items_count: i32, - height_in_items: i32, - }, -} /// Builder for a list box widget #[derive(Copy, Clone, Debug)] #[must_use] pub struct ListBox<'a> { label: &'a ImStr, - size: Size, + size: sys::ImVec2, } impl<'a> ListBox<'a> { @@ -25,21 +17,9 @@ impl<'a> ListBox<'a> { pub const fn new(label: &'a ImStr) -> ListBox<'a> { ListBox { label, - size: Size::Vec(sys::ImVec2::zero()), + size: sys::ImVec2::zero(), } } - /// Sets the list box size based on the number of items that you want to make visible - /// Size default to hold ~7.25 items. - /// We add +25% worth of item height to allow the user to see at a glance if there are more items up/down, without looking at the scrollbar. - /// We don't add this extra bit if items_count <= height_in_items. It is slightly dodgy, because it means a dynamic list of items will make the widget resize occasionally when it crosses that size. - #[inline] - pub const fn calculate_size(mut self, items_count: i32, height_in_items: i32) -> Self { - self.size = Size::Items { - items_count, - height_in_items, - }; - self - } /// Sets the list box size based on the given width and height /// If width or height are 0 or smaller, a default value is calculated @@ -49,7 +29,7 @@ impl<'a> ListBox<'a> { /// Default: [0.0, 0.0], in which case the combobox calculates a sensible width and height #[inline] pub const fn size(mut self, size: [f32; 2]) -> Self { - self.size = Size::Vec(sys::ImVec2::new(size[0], size[1])); + self.size = sys::ImVec2::new(size[0], size[1]); self } /// Creates a list box and starts appending to it. @@ -60,15 +40,7 @@ impl<'a> ListBox<'a> { /// Returns `None` if the list box is not open and no content should be rendered. #[must_use] pub fn begin<'ui>(self, ui: &Ui<'ui>) -> Option> { - let should_render = unsafe { - match self.size { - Size::Vec(size) => sys::igListBoxHeaderVec2(self.label.as_ptr(), size), - Size::Items { - items_count, - height_in_items, - } => sys::igListBoxHeaderInt(self.label.as_ptr(), items_count, height_in_items), - } - }; + let should_render = unsafe { sys::igBeginListBox(self.label.as_ptr(), self.size) }; if should_render { Some(ListBoxToken::new(ui)) } else { @@ -91,7 +63,7 @@ create_token!( pub struct ListBoxToken<'ui>; /// Ends a list box - drop { sys::igListBoxFooter() } + drop { sys::igEndListBox() } ); /// # Convenience functions diff --git a/imgui/src/window/scroll.rs b/imgui/src/window/scroll.rs index 5f271e9..ad0eb19 100644 --- a/imgui/src/window/scroll.rs +++ b/imgui/src/window/scroll.rs @@ -29,11 +29,11 @@ impl<'ui> Ui<'ui> { } /// Sets the horizontal scrolling position pub fn set_scroll_x(&self, scroll_x: f32) { - unsafe { sys::igSetScrollX(scroll_x) }; + unsafe { sys::igSetScrollXFloat(scroll_x) }; } /// Sets the vertical scroll position pub fn set_scroll_y(&self, scroll_y: f32) { - unsafe { sys::igSetScrollY(scroll_y) }; + unsafe { sys::igSetScrollYFloat(scroll_y) }; } /// Adjusts the horizontal scroll position to make the current cursor position visible pub fn set_scroll_here_x(&self) { @@ -65,7 +65,7 @@ impl<'ui> Ui<'ui> { } /// Adjusts the horizontal scroll position to make the given position visible pub fn set_scroll_from_pos_x(&self, local_x: f32) { - unsafe { sys::igSetScrollFromPosX(local_x, 0.5) }; + unsafe { sys::igSetScrollFromPosXFloat(local_x, 0.5) }; } /// Adjusts the horizontal scroll position to make the given position visible. /// @@ -75,11 +75,11 @@ impl<'ui> Ui<'ui> { /// - `0.5`: center /// - `1.0`: right pub fn set_scroll_from_pos_x_with_ratio(&self, local_x: f32, center_x_ratio: f32) { - unsafe { sys::igSetScrollFromPosX(local_x, center_x_ratio) }; + unsafe { sys::igSetScrollFromPosXFloat(local_x, center_x_ratio) }; } /// Adjusts the vertical scroll position to make the given position visible pub fn set_scroll_from_pos_y(&self, local_y: f32) { - unsafe { sys::igSetScrollFromPosY(local_y, 0.5) }; + unsafe { sys::igSetScrollFromPosYFloat(local_y, 0.5) }; } /// Adjusts the vertical scroll position to make the given position visible. /// @@ -89,6 +89,6 @@ impl<'ui> Ui<'ui> { /// - `0.5`: center /// - `1.0`: bottom pub fn set_scroll_from_pos_y_with_ratio(&self, local_y: f32, center_y_ratio: f32) { - unsafe { sys::igSetScrollFromPosY(local_y, center_y_ratio) }; + unsafe { sys::igSetScrollFromPosYFloat(local_y, center_y_ratio) }; } }