diff --git a/DearGenerator/TypeMaps/TypeMapEnumImGui.tt b/DearGenerator/TypeMaps/TypeMapEnumImGui.tt index 7611da2..6da9622 100644 --- a/DearGenerator/TypeMaps/TypeMapEnumImGui.tt +++ b/DearGenerator/TypeMaps/TypeMapEnumImGui.tt @@ -35,7 +35,8 @@ "ImGuiTableRowFlags", "ImGuiTreeNodeFlags", "ImGuiViewportFlags", - "ImGuiWindowFlags" + "ImGuiWindowFlags", + "ImGuiDockNodeFlags" }; Generate(types, "Constants.ImGuiNamespace"); diff --git a/DearImGui.Generator/LibraryImGui.cs b/DearImGui.Generator/LibraryImGui.cs index 1b59c2e..570827f 100644 --- a/DearImGui.Generator/LibraryImGui.cs +++ b/DearImGui.Generator/LibraryImGui.cs @@ -72,27 +72,29 @@ protected override void PostprocessIgnores(ASTContext ctx) { base.PostprocessIgnores(ctx); - Ignore(ctx, "ImDrawData", "CmdLists", IgnoreType.Property); // manual - Ignore(ctx, "ImDrawList", "ClipRectStack", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "CmdHeader", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "Data", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "FringeScale", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "IdxWritePtr", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "OwnerName", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "Path", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "Splitter", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "TextureIdStack", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "VtxCurrentIdx", IgnoreType.Property); // intern - Ignore(ctx, "ImDrawList", "VtxWritePtr", IgnoreType.Property); // intern - Ignore(ctx, "ImFontAtlas", "IsBuilt", IgnoreType.Property); // manual - Ignore(ctx, "ImFontAtlas", "TexUvLines", IgnoreType.Property); // manual - Ignore(ctx, "ImFontAtlasCustomRect", "IsPacked", IgnoreType.Property); // manual - Ignore(ctx, "ImFontConfig", "Name", IgnoreType.Property); // manual - Ignore(ctx, "ImFontGlyph", "Colored", IgnoreType.Property); // manual - Ignore(ctx, "ImFontGlyph", "Visible", IgnoreType.Property); // manual - Ignore(ctx, "ImFontGlyph", "Codepoint", IgnoreType.Property); // manual - Ignore(ctx, "ImGuiIO", "MouseClickedPos", IgnoreType.Property); // manual - Ignore(ctx, "ImGuiStyle", "Colors", IgnoreType.Property); // manual + Ignore(ctx, "ImDrawData", "CmdLists", IgnoreType.Property); // manual + Ignore(ctx, "ImDrawList", "ClipRectStack", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "CmdHeader", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "Data", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "FringeScale", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "IdxWritePtr", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "OwnerName", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "Path", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "Splitter", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "TextureIdStack", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "VtxCurrentIdx", IgnoreType.Property); // intern + Ignore(ctx, "ImDrawList", "VtxWritePtr", IgnoreType.Property); // intern + Ignore(ctx, "ImFontAtlas", "IsBuilt", IgnoreType.Property); // manual + Ignore(ctx, "ImFontAtlas", "TexUvLines", IgnoreType.Property); // manual + Ignore(ctx, "ImFontAtlasCustomRect", "IsPacked", IgnoreType.Property); // manual + Ignore(ctx, "ImFontConfig", "Name", IgnoreType.Property); // manual + Ignore(ctx, "ImFontGlyph", "Colored", IgnoreType.Property); // manual + Ignore(ctx, "ImFontGlyph", "Visible", IgnoreType.Property); // manual + Ignore(ctx, "ImFontGlyph", "Codepoint", IgnoreType.Property); // manual + Ignore(ctx, "ImGuiIO", "MouseClickedPos", IgnoreType.Property); // manual + Ignore(ctx, "ImGuiIO", "MouseDragMaxDistanceAbs", IgnoreType.Property); // manual + + Ignore(ctx, "ImGuiStyle", "Colors", IgnoreType.Property); // manual Ignore(ctx, "ImNewWrapper", null, IgnoreType.Class); // unused diff --git a/DearImGui.Generator/Passes/ImGuiSummaryPass.cs b/DearImGui.Generator/Passes/ImGuiSummaryPass.cs index a117ade..a8b49ac 100644 --- a/DearImGui.Generator/Passes/ImGuiSummaryPass.cs +++ b/DearImGui.Generator/Passes/ImGuiSummaryPass.cs @@ -12,5 +12,5 @@ public sealed class ImGuiSummaryPass : ImSummaryPass } .ToImmutableSortedSet(); - protected override string HeaderUrl { get; } = @"https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h"; + protected override string HeaderUrl { get; } = @"https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h"; } \ No newline at end of file diff --git a/DearImGui.OpenTK/Extensions/GameWindowBaseWithDebugContext.cs b/DearImGui.OpenTK/Extensions/GameWindowBaseWithDebugContext.cs index d1fcc11..711aeed 100644 --- a/DearImGui.OpenTK/Extensions/GameWindowBaseWithDebugContext.cs +++ b/DearImGui.OpenTK/Extensions/GameWindowBaseWithDebugContext.cs @@ -68,6 +68,13 @@ private static void DebugProcCallback( var str = builder.ToString(); - throw new InvalidOperationException(str); + if (severity == DebugSeverity.DebugSeverityNotification || severity == DebugSeverity.DebugSeverityLow) + { + Debug.WriteLine(str); + } + else + { + throw new InvalidOperationException(str); + } } } \ No newline at end of file diff --git a/DearImGui.OpenTK/ImGuiController.cs b/DearImGui.OpenTK/ImGuiController.cs index 4fc0bbd..bef57ab 100644 --- a/DearImGui.OpenTK/ImGuiController.cs +++ b/DearImGui.OpenTK/ImGuiController.cs @@ -344,6 +344,7 @@ private void InitializeFlags() IO.BackendFlags |= ImGuiBackendFlags.HasMouseCursors; IO.ConfigFlags |= ImGuiConfigFlags.NavEnableKeyboard; + IO.ConfigFlags |= ImGuiConfigFlags.DockingEnable; } private unsafe void InitializeFont(string? fontPath, float? fontSize) diff --git a/DearImGui/ImGui.g.cs b/DearImGui/ImGui.g.cs index 4e1a616..92704ac 100644 --- a/DearImGui/ImGui.g.cs +++ b/DearImGui/ImGui.g.cs @@ -27,9 +27,11 @@ using ImS64 = System.Int64; using ImU64 = System.UInt64; +#pragma warning disable CS0109 // Member does not hide an inherited member; new keyword is not required + namespace DearImGui { - /// Flags for ImGui::Begin().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L942.
+ /// Flags for ImGui::Begin().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L984.
// DEBUG: enum ImGuiWindowFlags_ // DEBUG: { // DEBUG: ImGuiWindowFlags_None = 0, @@ -53,6 +55,8 @@ namespace DearImGui // DEBUG: ImGuiWindowFlags_NoNavInputs = 1 << 18, // No gamepad/keyboard navigation within the window // DEBUG: ImGuiWindowFlags_NoNavFocus = 1 << 19, // No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB) // DEBUG: ImGuiWindowFlags_UnsavedDocument = 1 << 20, // Display a dot next to the title. When used in a tab/docking context, tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar. + // DEBUG: ImGuiWindowFlags_NoDocking = 1 << 21, // Disable docking of this window + // DEBUG: // DEBUG: ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, // DEBUG: ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse, // DEBUG: ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus, @@ -63,75 +67,82 @@ namespace DearImGui // DEBUG: ImGuiWindowFlags_Tooltip = 1 << 25, // Don't use! For internal use by BeginTooltip() // DEBUG: ImGuiWindowFlags_Popup = 1 << 26, // Don't use! For internal use by BeginPopup() // DEBUG: ImGuiWindowFlags_Modal = 1 << 27, // Don't use! For internal use by BeginPopupModal() - // DEBUG: ImGuiWindowFlags_ChildMenu = 1 << 28 // Don't use! For internal use by BeginMenu() + // DEBUG: ImGuiWindowFlags_ChildMenu = 1 << 28, // Don't use! For internal use by BeginMenu() + // DEBUG: ImGuiWindowFlags_DockNodeHost = 1 << 29 // Don't use! For internal use by Begin()/NewFrame() + // DEBUG: + // DEBUG: // [Obsolete] // DEBUG: //ImGuiWindowFlags_ResizeFromAnySide = 1 << 17, // [Obsolete] --> Set io.ConfigWindowsResizeFromEdges=true and make sure mouse cursors are supported by backend (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) // DEBUG: } [Flags] public enum ImGuiWindowFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L944.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L986.
None = 0, - /// Disable title-bar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L945.
+ /// Disable title-bar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L987.
NoTitleBar = 1, - /// Disable user resizing with the lower-right grip.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L946.
+ /// Disable user resizing with the lower-right grip.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L988.
NoResize = 2, - /// Disable user moving the window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L947.
+ /// Disable user moving the window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L989.
NoMove = 4, - /// Disable scrollbars (window can still scroll with mouse or programmatically).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L948.
+ /// Disable scrollbars (window can still scroll with mouse or programmatically).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L990.
NoScrollbar = 8, - /// Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L949.
+ /// Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L991.
NoScrollWithMouse = 16, - /// Disable user collapsing window by double-clicking on it. Also referred to as Window Menu Button (e.g. within a docking node).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L950.
+ /// Disable user collapsing window by double-clicking on it. Also referred to as Window Menu Button (e.g. within a docking node).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L992.
NoCollapse = 32, - /// Resize every window to its content every frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L951.
+ /// Resize every window to its content every frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L993.
AlwaysAutoResize = 64, - /// Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0f).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L952.
+ /// Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0f).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L994.
NoBackground = 128, - /// Never load/save settings in .ini file.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L953.
+ /// Never load/save settings in .ini file.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L995.
NoSavedSettings = 256, - /// Disable catching mouse, hovering test with pass through.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L954.
+ /// Disable catching mouse, hovering test with pass through.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L996.
NoMouseInputs = 512, - /// Has a menu-bar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L955.
+ /// Has a menu-bar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L997.
MenuBar = 1024, - /// Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width,0.0f)); prior to calling Begin() to specify width. Read code in imgui_demo in the "Horizontal Scrolling" section.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L956.
+ /// Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width,0.0f)); prior to calling Begin() to specify width. Read code in imgui_demo in the "Horizontal Scrolling" section.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L998.
HorizontalScrollbar = 2048, - /// Disable taking focus when transitioning from hidden to visible state.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L957.
+ /// Disable taking focus when transitioning from hidden to visible state.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L999.
NoFocusOnAppearing = 4096, - /// Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L958.
+ /// Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1000.
NoBringToFrontOnFocus = 8192, - /// Always show vertical scrollbar (even if ContentSize.y < Size.y).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L959.
+ /// Always show vertical scrollbar (even if ContentSize.y < Size.y).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1001.
AlwaysVerticalScrollbar = 16384, - /// Always show horizontal scrollbar (even if ContentSize.x < Size.x).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L960.
+ /// Always show horizontal scrollbar (even if ContentSize.x < Size.x).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1002.
AlwaysHorizontalScrollbar = 32768, - /// Ensure child windows without border uses style.WindowPadding (ignored by default for non-bordered child windows, because more convenient).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L961.
+ /// Ensure child windows without border uses style.WindowPadding (ignored by default for non-bordered child windows, because more convenient).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1003.
AlwaysUseWindowPadding = 65536, - /// No gamepad/keyboard navigation within the window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L962.
+ /// No gamepad/keyboard navigation within the window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1004.
NoNavInputs = 262144, - /// No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L963.
+ /// No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1005.
NoNavFocus = 524288, - /// Display a dot next to the title. When used in a tab/docking context, tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L964.
+ /// Display a dot next to the title. When used in a tab/docking context, tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1006.
UnsavedDocument = 1048576, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L965. + /// Disable docking of this window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1007.
+ NoDocking = 2097152, + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1009. NoNav = 786432, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L966. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1010. NoDecoration = 43, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L967. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1011. NoInputs = 786944, - /// [BETA] On child window: allow gamepad/keyboard navigation to cross over parent border to this child or between sibling child windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L970.
+ /// [BETA] On child window: allow gamepad/keyboard navigation to cross over parent border to this child or between sibling child windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1014.
NavFlattened = 8388608, - /// Don't use! For internal use by BeginChild().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L971.
+ /// Don't use! For internal use by BeginChild().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1015.
ChildWindow = 16777216, - /// Don't use! For internal use by BeginTooltip().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L972.
+ /// Don't use! For internal use by BeginTooltip().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1016.
Tooltip = 33554432, - /// Don't use! For internal use by BeginPopup().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L973.
+ /// Don't use! For internal use by BeginPopup().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1017.
Popup = 67108864, - /// Don't use! For internal use by BeginPopupModal().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L974.
+ /// Don't use! For internal use by BeginPopupModal().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1018.
Modal = 134217728, - /// Don't use! For internal use by BeginMenu().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L975.
- ChildMenu = 268435456 + /// Don't use! For internal use by BeginMenu().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1019.
+ ChildMenu = 268435456, + /// Don't use! For internal use by Begin()/NewFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1020.
+ DockNodeHost = 536870912 } - /// Flags for ImGui::InputText().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L980.
+ /// Flags for ImGui::InputText().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1027.
// DEBUG: enum ImGuiInputTextFlags_ // DEBUG: { // DEBUG: ImGuiInputTextFlags_None = 0, @@ -164,51 +175,51 @@ public enum ImGuiWindowFlags [Flags] public enum ImGuiInputTextFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L982.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1029.
None = 0, - /// Allow 0123456789.+-*.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L983.
+ /// Allow 0123456789.+-*.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1030.
CharsDecimal = 1, - /// Allow 0123456789ABCDEFabcdef.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L984.
+ /// Allow 0123456789ABCDEFabcdef.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1031.
CharsHexadecimal = 2, - /// Turn a..z into A..Z.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L985.
+ /// Turn a..z into A..Z.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1032.
CharsUppercase = 4, - /// Filter out spaces, tabs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L986.
+ /// Filter out spaces, tabs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1033.
CharsNoBlank = 8, - /// Select entire text when first taking mouse focus.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L987.
+ /// Select entire text when first taking mouse focus.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1034.
AutoSelectAll = 16, - /// Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L988.
+ /// Return 'true' when Enter is pressed (as opposed to every time the value was modified). Consider looking at the IsItemDeactivatedAfterEdit() function.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1035.
EnterReturnsTrue = 32, - /// Callback on pressing TAB (for completion handling).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L989.
+ /// Callback on pressing TAB (for completion handling).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1036.
CallbackCompletion = 64, - /// Callback on pressing Up/Down arrows (for history handling).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L990.
+ /// Callback on pressing Up/Down arrows (for history handling).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1037.
CallbackHistory = 128, - /// Callback on each iteration. User code may query cursor position, modify text buffer.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L991.
+ /// Callback on each iteration. User code may query cursor position, modify text buffer.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1038.
CallbackAlways = 256, - /// Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L992.
+ /// Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1039.
CallbackCharFilter = 512, - /// Pressing TAB input a '\t' character into the text field.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L993.
+ /// Pressing TAB input a '\t' character into the text field.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1040.
AllowTabInput = 1024, - /// In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L994.
+ /// In multi-line mode, unfocus with Enter, add new line with Ctrl+Enter (default is opposite: unfocus with Ctrl+Enter, add line with Enter).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1041.
CtrlEnterForNewLine = 2048, - /// Disable following the cursor horizontally.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L995.
+ /// Disable following the cursor horizontally.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1042.
NoHorizontalScroll = 4096, - /// Overwrite mode.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L996.
+ /// Overwrite mode.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1043.
AlwaysOverwrite = 8192, - /// Read-only mode.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L997.
+ /// Read-only mode.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1044.
ReadOnly = 16384, - /// Password mode, display all characters as '*'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L998.
+ /// Password mode, display all characters as '*'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1045.
Password = 32768, - /// Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L999.
+ /// Disable undo/redo. Note that input text owns the text data while active, if you want to provide your own undo/redo stack you need e.g. to call ClearActiveID().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1046.
NoUndoRedo = 65536, - /// Allow 0123456789.+-*/eE (Scientific notation input).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1000.
+ /// Allow 0123456789.+-*/eE (Scientific notation input).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1047.
CharsScientific = 131072, - /// Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1001.
+ /// Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow. Notify when the string wants to be resized (for string types which hold a cache of their Size). You will be provided a new BufSize in the callback and NEED to honor it. (see misc/cpp/imgui_stdlib.h for an example of using this).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1048.
CallbackResize = 262144, - /// Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1002.
+ /// Callback on any edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1049.
CallbackEdit = 524288 } - /// Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1011.
+ /// Flags for ImGui::TreeNodeEx(), ImGui::CollapsingHeader*().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1058.
// DEBUG: enum ImGuiTreeNodeFlags_ // DEBUG: { // DEBUG: ImGuiTreeNodeFlags_None = 0, @@ -232,41 +243,41 @@ public enum ImGuiInputTextFlags [Flags] public enum ImGuiTreeNodeFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1013.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1060.
None = 0, - /// Draw as selected.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1014.
+ /// Draw as selected.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1061.
Selected = 1, - /// Draw frame with background (e.g. for CollapsingHeader).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1015.
+ /// Draw frame with background (e.g. for CollapsingHeader).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1062.
Framed = 2, - /// Hit testing to allow subsequent widgets to overlap this one.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1016.
+ /// Hit testing to allow subsequent widgets to overlap this one.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1063.
AllowItemOverlap = 4, - /// Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1017.
+ /// Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1064.
NoTreePushOnOpen = 8, - /// Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1018.
+ /// Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1065.
NoAutoOpenOnLog = 16, - /// Default node to be open.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1019.
+ /// Default node to be open.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1066.
DefaultOpen = 32, - /// Need double-click to open node.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1020.
+ /// Need double-click to open node.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1067.
OpenOnDoubleClick = 64, - /// Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1021.
+ /// Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1068.
OpenOnArrow = 128, - /// No collapsing, no arrow (use as a convenience for leaf nodes).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1022.
+ /// No collapsing, no arrow (use as a convenience for leaf nodes).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1069.
Leaf = 256, - /// Display a bullet instead of arrow.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1023.
+ /// Display a bullet instead of arrow.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1070.
Bullet = 512, - /// Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1024.
+ /// Use FramePadding (even for an unframed text node) to vertically align text baseline to regular widget height. Equivalent to calling AlignTextToFramePadding().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1071.
FramePadding = 1024, - /// Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line. In the future we may refactor the hit system to be front-to-back, allowing natural overlaps and then this can become the default.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1025.
+ /// Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line. In the future we may refactor the hit system to be front-to-back, allowing natural overlaps and then this can become the default.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1072.
SpanAvailWidth = 2048, - /// Extend hit box to the left-most and right-most edges (bypass the indented area).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1026.
+ /// Extend hit box to the left-most and right-most edges (bypass the indented area).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1073.
SpanFullWidth = 4096, - /// (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1027.
+ /// (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1074.
NavLeftJumpsBackHere = 8192, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1029. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1076. CollapsingHeader = 26 } - /// Flags for OpenPopup*(), BeginPopupContext*(), IsPopupOpen() functions.
- To be backward compatible with older API which took an 'int mouse_button = 1' argument, we need to treat.
Small flags values as a mouse button index, so we encode the mouse button in the first few bits of the flags.
It is therefore guaranteed to be legal to pass a mouse button index in ImGuiPopupFlags.
- For the same reason, we exceptionally default the ImGuiPopupFlags argument of BeginPopupContextXXX functions to 1 instead of 0.
IMPORTANT: because the default parameter is 1 (==ImGuiPopupFlags_MouseButtonRight), if you rely on the default parameter.
And want to another another flag, you need to pass in the ImGuiPopupFlags_MouseButtonRight flag.
- Multiple buttons currently cannot be combined/or-ed in those functions (we could allow it later).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1040.
+ /// Flags for OpenPopup*(), BeginPopupContext*(), IsPopupOpen() functions.
- To be backward compatible with older API which took an 'int mouse_button = 1' argument, we need to treat.
Small flags values as a mouse button index, so we encode the mouse button in the first few bits of the flags.
It is therefore guaranteed to be legal to pass a mouse button index in ImGuiPopupFlags.
- For the same reason, we exceptionally default the ImGuiPopupFlags argument of BeginPopupContextXXX functions to 1 instead of 0.
IMPORTANT: because the default parameter is 1 (==ImGuiPopupFlags_MouseButtonRight), if you rely on the default parameter.
And want to another another flag, you need to pass in the ImGuiPopupFlags_MouseButtonRight flag.
- Multiple buttons currently cannot be combined/or-ed in those functions (we could allow it later).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1087.
// DEBUG: enum ImGuiPopupFlags_ // DEBUG: { // DEBUG: ImGuiPopupFlags_None = 0, @@ -284,31 +295,31 @@ public enum ImGuiTreeNodeFlags [Flags] public enum ImGuiPopupFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1042.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1089.
None = 0, - /// For BeginPopupContext*(): open on Left Mouse release. Guaranteed to always be == 0 (same as ImGuiMouseButton_Left).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1043.
+ /// For BeginPopupContext*(): open on Left Mouse release. Guaranteed to always be == 0 (same as ImGuiMouseButton_Left).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1090.
MouseButtonLeft = 0, - /// For BeginPopupContext*(): open on Right Mouse release. Guaranteed to always be == 1 (same as ImGuiMouseButton_Right).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1044.
+ /// For BeginPopupContext*(): open on Right Mouse release. Guaranteed to always be == 1 (same as ImGuiMouseButton_Right).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1091.
MouseButtonRight = 1, - /// For BeginPopupContext*(): open on Middle Mouse release. Guaranteed to always be == 2 (same as ImGuiMouseButton_Middle).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1045.
+ /// For BeginPopupContext*(): open on Middle Mouse release. Guaranteed to always be == 2 (same as ImGuiMouseButton_Middle).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1092.
MouseButtonMiddle = 2, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1046. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1093. MouseButtonMask = 31, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1047. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1094. MouseButtonDefault = 1, - /// For OpenPopup*(), BeginPopupContext*(): don't open if there's already a popup at the same level of the popup stack.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1048.
+ /// For OpenPopup*(), BeginPopupContext*(): don't open if there's already a popup at the same level of the popup stack.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1095.
NoOpenOverExistingPopup = 32, - /// For BeginPopupContextWindow(): don't return true when hovering items, only when hovering empty space.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1049.
+ /// For BeginPopupContextWindow(): don't return true when hovering items, only when hovering empty space.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1096.
NoOpenOverItems = 64, - /// For IsPopupOpen(): ignore the ImGuiID parameter and test for any popup.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1050.
+ /// For IsPopupOpen(): ignore the ImGuiID parameter and test for any popup.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1097.
AnyPopupId = 128, - /// For IsPopupOpen(): search/test at any level of the popup stack (default test in the current level).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1051.
+ /// For IsPopupOpen(): search/test at any level of the popup stack (default test in the current level).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1098.
AnyPopupLevel = 256, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1052. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1099. AnyPopup = 384 } - /// Flags for ImGui::Selectable().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1056.
+ /// Flags for ImGui::Selectable().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1103.
// DEBUG: enum ImGuiSelectableFlags_ // DEBUG: { // DEBUG: ImGuiSelectableFlags_None = 0, @@ -321,21 +332,21 @@ public enum ImGuiPopupFlags [Flags] public enum ImGuiSelectableFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1058.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1105.
None = 0, - /// Clicking this don't close parent popup window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1059.
+ /// Clicking this don't close parent popup window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1106.
DontClosePopups = 1, - /// Selectable frame can span all columns (text will still fit in current column).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1060.
+ /// Selectable frame can span all columns (text will still fit in current column).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1107.
SpanAllColumns = 2, - /// Generate press events on double clicks too.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1061.
+ /// Generate press events on double clicks too.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1108.
AllowDoubleClick = 4, - /// Cannot be selected, display grayed out text.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1062.
+ /// Cannot be selected, display grayed out text.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1109.
Disabled = 8, - /// (WIP) Hit testing to allow subsequent widgets to overlap this one.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1063.
+ /// (WIP) Hit testing to allow subsequent widgets to overlap this one.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1110.
AllowItemOverlap = 16 } - /// Flags for ImGui::BeginCombo().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1067.
+ /// Flags for ImGui::BeginCombo().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1114.
// DEBUG: enum ImGuiComboFlags_ // DEBUG: { // DEBUG: ImGuiComboFlags_None = 0, @@ -351,27 +362,27 @@ public enum ImGuiSelectableFlags [Flags] public enum ImGuiComboFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1069.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1116.
None = 0, - /// Align the popup toward the left by default.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1070.
+ /// Align the popup toward the left by default.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1117.
PopupAlignLeft = 1, - /// Max ~4 items visible. Tip: If you want your combo popup to be a specific size you can use SetNextWindowSizeConstraints() prior to calling BeginCombo().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1071.
+ /// Max ~4 items visible. Tip: If you want your combo popup to be a specific size you can use SetNextWindowSizeConstraints() prior to calling BeginCombo().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1118.
HeightSmall = 2, - /// Max ~8 items visible (default).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1072.
+ /// Max ~8 items visible (default).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1119.
HeightRegular = 4, - /// Max ~20 items visible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1073.
+ /// Max ~20 items visible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1120.
HeightLarge = 8, - /// As many fitting items as possible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1074.
+ /// As many fitting items as possible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1121.
HeightLargest = 16, - /// Display on the preview box without the square arrow button.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1075.
+ /// Display on the preview box without the square arrow button.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1122.
NoArrowButton = 32, - /// Display only a square arrow button.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1076.
+ /// Display only a square arrow button.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1123.
NoPreview = 64, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1077. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1124. HeightMask = 30 } - /// Flags for ImGui::BeginTabBar().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1081.
+ /// Flags for ImGui::BeginTabBar().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1128.
// DEBUG: enum ImGuiTabBarFlags_ // DEBUG: { // DEBUG: ImGuiTabBarFlags_None = 0, @@ -389,31 +400,31 @@ public enum ImGuiComboFlags [Flags] public enum ImGuiTabBarFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1083.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1130.
None = 0, - /// Allow manually dragging tabs to re-order them + New tabs are appended at the end of list.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1084.
+ /// Allow manually dragging tabs to re-order them + New tabs are appended at the end of list.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1131.
Reorderable = 1, - /// Automatically select new tabs when they appear.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1085.
+ /// Automatically select new tabs when they appear.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1132.
AutoSelectNewTabs = 2, - /// Disable buttons to open the tab list popup.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1086.
+ /// Disable buttons to open the tab list popup.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1133.
TabListPopupButton = 4, - /// Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() & & IsMouseClicked(2)) *p_open = false.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1087.
+ /// Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() & & IsMouseClicked(2)) *p_open = false.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1134.
NoCloseWithMiddleMouseButton = 8, - /// Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1088.
+ /// Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1135.
NoTabListScrollingButtons = 16, - /// Disable tooltips when hovering a tab.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1089.
+ /// Disable tooltips when hovering a tab.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1136.
NoTooltip = 32, - /// Resize tabs when they don't fit.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1090.
+ /// Resize tabs when they don't fit.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1137.
FittingPolicyResizeDown = 64, - /// Add scroll buttons when tabs don't fit.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1091.
+ /// Add scroll buttons when tabs don't fit.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1138.
FittingPolicyScroll = 128, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1092. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1139. FittingPolicyMask = 192, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1093. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1140. FittingPolicyDefault = 64 } - /// Flags for ImGui::BeginTabItem().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1097.
+ /// Flags for ImGui::BeginTabItem().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1144.
// DEBUG: enum ImGuiTabItemFlags_ // DEBUG: { // DEBUG: ImGuiTabItemFlags_None = 0, @@ -429,27 +440,27 @@ public enum ImGuiTabBarFlags [Flags] public enum ImGuiTabItemFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1099.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1146.
None = 0, - /// Display a dot next to the title + tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1100.
+ /// Display a dot next to the title + tab is selected when clicking the X + closure is not assumed (will wait for user to stop submitting the tab). Otherwise closure is assumed when pressing the X, so if you keep submitting the tab may reappear at end of tab bar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1147.
UnsavedDocument = 1, - /// Trigger flag to programmatically make the tab selected when calling BeginTabItem().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1101.
+ /// Trigger flag to programmatically make the tab selected when calling BeginTabItem().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1148.
SetSelected = 2, - /// Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() & & IsMouseClicked(2)) *p_open = false.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1102.
+ /// Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() & & IsMouseClicked(2)) *p_open = false.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1149.
NoCloseWithMiddleMouseButton = 4, - /// Don't call PushID(tab->ID)/PopID() on BeginTabItem()/EndTabItem().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1103.
+ /// Don't call PushID(tab->ID)/PopID() on BeginTabItem()/EndTabItem().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1150.
NoPushId = 8, - /// Disable tooltip for the given tab.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1104.
+ /// Disable tooltip for the given tab.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1151.
NoTooltip = 16, - /// Disable reordering this tab or having another tab cross over this tab.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1105.
+ /// Disable reordering this tab or having another tab cross over this tab.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1152.
NoReorder = 32, - /// Enforce the tab position to the left of the tab bar (after the tab list popup button).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1106.
+ /// Enforce the tab position to the left of the tab bar (after the tab list popup button).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1153.
Leading = 64, - /// Enforce the tab position to the right of the tab bar (before the scrolling buttons).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1107.
+ /// Enforce the tab position to the right of the tab bar (before the scrolling buttons).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1154.
Trailing = 128 } - /// Flags for ImGui::BeginTable().
- Important! Sizing policies have complex and subtle side effects, much more so than you would expect.
Read comments/demos carefully + experiment with live demos to get acquainted with them.
- The DEFAULT sizing policies are:.
- Default to ImGuiTableFlags_SizingFixedFit, if ScrollX is on, or if host window has ImGuiWindowFlags_AlwaysAutoResize.
- Default to ImGuiTableFlags_SizingStretchSame if ScrollX is off.
- When ScrollX is off:.
- Table defaults to ImGuiTableFlags_SizingStretchSame -> all Columns defaults to ImGuiTableColumnFlags_WidthStretch with same weight.
- Columns sizing policy allowed: Stretch (default), Fixed/Auto.
- Fixed Columns (if any) will generally obtain their requested width (unless the table cannot fit them all).
- Stretch Columns will share the remaining width according to their respective weight.
- Mixed Fixed/Stretch columns is possible but has various side-effects on resizing behaviors.
The typical use of mixing sizing policies is: any number of LEADING Fixed columns, followed by one or two TRAILING Stretch columns.
(this is because the visible order of columns have subtle but necessary effects on how they react to manual resizing).
- When ScrollX is on:.
- Table defaults to ImGuiTableFlags_SizingFixedFit -> all Columns defaults to ImGuiTableColumnFlags_WidthFixed.
- Columns sizing policy allowed: Fixed/Auto mostly.
- Fixed Columns can be enlarged as needed. Table will show an horizontal scrollbar if needed.
- When using auto-resizing (non-resizable) fixed columns, querying the content width to use item right-alignment e.g. SetNextItemWidth(-FLT_MIN) doesn't make sense, would create a feedback loop.
- Using Stretch columns OFTEN DOES NOT MAKE SENSE if ScrollX is on, UNLESS you have specified a value for 'inner_width' in BeginTable().
If you specify a value for 'inner_width' then effectively the scrolling space is known and Stretch or mixed Fixed/Stretch columns become meaningful again.
- Read on documentation at the top of imgui_tables.cpp for details.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1132.
+ /// Flags for ImGui::BeginTable().
- Important! Sizing policies have complex and subtle side effects, much more so than you would expect.
Read comments/demos carefully + experiment with live demos to get acquainted with them.
- The DEFAULT sizing policies are:.
- Default to ImGuiTableFlags_SizingFixedFit, if ScrollX is on, or if host window has ImGuiWindowFlags_AlwaysAutoResize.
- Default to ImGuiTableFlags_SizingStretchSame if ScrollX is off.
- When ScrollX is off:.
- Table defaults to ImGuiTableFlags_SizingStretchSame -> all Columns defaults to ImGuiTableColumnFlags_WidthStretch with same weight.
- Columns sizing policy allowed: Stretch (default), Fixed/Auto.
- Fixed Columns (if any) will generally obtain their requested width (unless the table cannot fit them all).
- Stretch Columns will share the remaining width according to their respective weight.
- Mixed Fixed/Stretch columns is possible but has various side-effects on resizing behaviors.
The typical use of mixing sizing policies is: any number of LEADING Fixed columns, followed by one or two TRAILING Stretch columns.
(this is because the visible order of columns have subtle but necessary effects on how they react to manual resizing).
- When ScrollX is on:.
- Table defaults to ImGuiTableFlags_SizingFixedFit -> all Columns defaults to ImGuiTableColumnFlags_WidthFixed.
- Columns sizing policy allowed: Fixed/Auto mostly.
- Fixed Columns can be enlarged as needed. Table will show an horizontal scrollbar if needed.
- When using auto-resizing (non-resizable) fixed columns, querying the content width to use item right-alignment e.g. SetNextItemWidth(-FLT_MIN) doesn't make sense, would create a feedback loop.
- Using Stretch columns OFTEN DOES NOT MAKE SENSE if ScrollX is on, UNLESS you have specified a value for 'inner_width' in BeginTable().
If you specify a value for 'inner_width' then effectively the scrolling space is known and Stretch or mixed Fixed/Stretch columns become meaningful again.
- Read on documentation at the top of imgui_tables.cpp for details.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1179.
// DEBUG: enum ImGuiTableFlags_ // DEBUG: { // DEBUG: // Features @@ -508,81 +519,81 @@ public enum ImGuiTabItemFlags [Flags] public enum ImGuiTableFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1135.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1182.
None = 0, - /// Enable resizing columns.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1136.
+ /// Enable resizing columns.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1183.
Resizable = 1, - /// Enable reordering columns in header row (need calling TableSetupColumn() + TableHeadersRow() to display headers).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1137.
+ /// Enable reordering columns in header row (need calling TableSetupColumn() + TableHeadersRow() to display headers).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1184.
Reorderable = 2, - /// Enable hiding/disabling columns in context menu.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1138.
+ /// Enable hiding/disabling columns in context menu.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1185.
Hideable = 4, - /// Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1139.
+ /// Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1186.
Sortable = 8, - /// Disable persisting columns order, width and sort settings in the .ini file.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1140.
+ /// Disable persisting columns order, width and sort settings in the .ini file.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1187.
NoSavedSettings = 16, - /// Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1141.
+ /// Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1188.
ContextMenuInBody = 32, - /// Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1143.
+ /// Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1190.
RowBg = 64, - /// Draw horizontal borders between rows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1144.
+ /// Draw horizontal borders between rows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1191.
BordersInnerH = 128, - /// Draw horizontal borders at the top and bottom.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1145.
+ /// Draw horizontal borders at the top and bottom.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1192.
BordersOuterH = 256, - /// Draw vertical borders between columns.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1146.
+ /// Draw vertical borders between columns.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1193.
BordersInnerV = 512, - /// Draw vertical borders on the left and right sides.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1147.
+ /// Draw vertical borders on the left and right sides.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1194.
BordersOuterV = 1024, - /// Draw horizontal borders.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1148.
+ /// Draw horizontal borders.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1195.
BordersH = 384, - /// Draw vertical borders.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1149.
+ /// Draw vertical borders.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1196.
BordersV = 1536, - /// Draw inner borders.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1150.
+ /// Draw inner borders.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1197.
BordersInner = 640, - /// Draw outer borders.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1151.
+ /// Draw outer borders.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1198.
BordersOuter = 1280, - /// Draw all borders.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1152.
+ /// Draw all borders.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1199.
Borders = 1920, - /// [ALPHA] Disable vertical borders in columns Body (borders will always appears in Headers). -> May move to style.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1153.
+ /// [ALPHA] Disable vertical borders in columns Body (borders will always appears in Headers). -> May move to style.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1200.
NoBordersInBody = 2048, - /// [ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appears in Headers). -> May move to style.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1154.
+ /// [ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appears in Headers). -> May move to style.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1201.
NoBordersInBodyUntilResize = 4096, - /// Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1156.
+ /// Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1203.
SizingFixedFit = 8192, - /// Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1157.
+ /// Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1204.
SizingFixedSame = 16384, - /// Columns default to _WidthStretch with default weights proportional to each columns contents widths.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1158.
+ /// Columns default to _WidthStretch with default weights proportional to each columns contents widths.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1205.
SizingStretchProp = 24576, - /// Columns default to _WidthStretch with default weights all equal, unless overridden by TableSetupColumn().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1159.
+ /// Columns default to _WidthStretch with default weights all equal, unless overridden by TableSetupColumn().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1206.
SizingStretchSame = 32768, - /// Make outer width auto-fit to columns, overriding outer_size.x value. Only available when ScrollX/ScrollY are disabled and Stretch columns are not used.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1161.
+ /// Make outer width auto-fit to columns, overriding outer_size.x value. Only available when ScrollX/ScrollY are disabled and Stretch columns are not used.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1208.
NoHostExtendX = 65536, - /// Make outer height stop exactly at outer_size.y (prevent auto-extending table past the limit). Only available when ScrollX/ScrollY are disabled. Data below the limit will be clipped and not visible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1162.
+ /// Make outer height stop exactly at outer_size.y (prevent auto-extending table past the limit). Only available when ScrollX/ScrollY are disabled. Data below the limit will be clipped and not visible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1209.
NoHostExtendY = 131072, - /// Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1163.
+ /// Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1210.
NoKeepColumnsVisible = 262144, - /// Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1164.
+ /// Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1211.
PreciseWidths = 524288, - /// Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1166.
+ /// Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1213.
NoClip = 1048576, - /// Default if BordersOuterV is on. Enable outer-most padding. Generally desirable if you have headers.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1168.
+ /// Default if BordersOuterV is on. Enable outer-most padding. Generally desirable if you have headers.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1215.
PadOuterX = 2097152, - /// Default if BordersOuterV is off. Disable outer-most padding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1169.
+ /// Default if BordersOuterV is off. Disable outer-most padding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1216.
NoPadOuterX = 4194304, - /// Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1170.
+ /// Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1217.
NoPadInnerX = 8388608, - /// Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this create a child window, ScrollY is currently generally recommended when using ScrollX.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1172.
+ /// Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this create a child window, ScrollY is currently generally recommended when using ScrollX.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1219.
ScrollX = 16777216, - /// Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1173.
+ /// Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1220.
ScrollY = 33554432, - /// Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1175.
+ /// Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1222.
SortMulti = 67108864, - /// Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1176.
+ /// Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1223.
SortTristate = 134217728, - /// [Internal] Combinations and masks.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1179.
+ /// [Internal] Combinations and masks.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1226.
SizingMask = 57344 } - /// Flags for ImGui::TableSetupColumn().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1189.
+ /// Flags for ImGui::TableSetupColumn().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1236.
// DEBUG: enum ImGuiTableColumnFlags_ // DEBUG: { // DEBUG: // Input configuration flags @@ -626,63 +637,63 @@ public enum ImGuiTableFlags [Flags] public enum ImGuiTableColumnFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1192.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1239.
None = 0, - /// Overriding/master disable flag: hide column, won't show in context menu (unlike calling TableSetColumnEnabled() which manipulates the user accessible state).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1193.
+ /// Overriding/master disable flag: hide column, won't show in context menu (unlike calling TableSetColumnEnabled() which manipulates the user accessible state).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1240.
Disabled = 1, - /// Default as a hidden/disabled column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1194.
+ /// Default as a hidden/disabled column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1241.
DefaultHide = 2, - /// Default as a sorting column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1195.
+ /// Default as a sorting column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1242.
DefaultSort = 4, - /// Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1196.
+ /// Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1243.
WidthStretch = 8, - /// Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1197.
+ /// Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1244.
WidthFixed = 16, - /// Disable manual resizing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1198.
+ /// Disable manual resizing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1245.
NoResize = 32, - /// Disable manual reordering this column, this will also prevent other columns from crossing over this column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1199.
+ /// Disable manual reordering this column, this will also prevent other columns from crossing over this column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1246.
NoReorder = 64, - /// Disable ability to hide/disable this column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1200.
+ /// Disable ability to hide/disable this column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1247.
NoHide = 128, - /// Disable clipping for this column (all NoClip columns will render in a same draw command).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1201.
+ /// Disable clipping for this column (all NoClip columns will render in a same draw command).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1248.
NoClip = 256, - /// Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1202.
+ /// Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1249.
NoSort = 512, - /// Disable ability to sort in the ascending direction.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1203.
+ /// Disable ability to sort in the ascending direction.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1250.
NoSortAscending = 1024, - /// Disable ability to sort in the descending direction.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1204.
+ /// Disable ability to sort in the descending direction.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1251.
NoSortDescending = 2048, - /// TableHeadersRow() will not submit label for this column. Convenient for some small columns. Name will still appear in context menu.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1205.
+ /// TableHeadersRow() will not submit label for this column. Convenient for some small columns. Name will still appear in context menu.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1252.
NoHeaderLabel = 4096, - /// Disable header text width contribution to automatic column width.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1206.
+ /// Disable header text width contribution to automatic column width.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1253.
NoHeaderWidth = 8192, - /// Make the initial sort direction Ascending when first sorting on this column (default).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1207.
+ /// Make the initial sort direction Ascending when first sorting on this column (default).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1254.
PreferSortAscending = 16384, - /// Make the initial sort direction Descending when first sorting on this column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1208.
+ /// Make the initial sort direction Descending when first sorting on this column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1255.
PreferSortDescending = 32768, - /// Use current Indent value when entering cell (default for column 0).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1209.
+ /// Use current Indent value when entering cell (default for column 0).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1256.
IndentEnable = 65536, - /// Ignore current Indent value when entering cell (default for columns > 0). Indentation changes _within_ the cell will still be honored.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1210.
+ /// Ignore current Indent value when entering cell (default for columns > 0). Indentation changes _within_ the cell will still be honored.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1257.
IndentDisable = 131072, - /// Status: is enabled == not hidden by user/api (referred to as "Hide" in _DefaultHide and _NoHide) flags.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1213.
+ /// Status: is enabled == not hidden by user/api (referred to as "Hide" in _DefaultHide and _NoHide) flags.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1260.
IsEnabled = 16777216, - /// Status: is visible == is enabled AND not clipped by scrolling.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1214.
+ /// Status: is visible == is enabled AND not clipped by scrolling.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1261.
IsVisible = 33554432, - /// Status: is currently part of the sort specs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1215.
+ /// Status: is currently part of the sort specs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1262.
IsSorted = 67108864, - /// Status: is hovered by mouse.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1216.
+ /// Status: is hovered by mouse.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1263.
IsHovered = 134217728, - /// [Internal] Combinations and masks.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1219.
+ /// [Internal] Combinations and masks.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1266.
WidthMask = 24, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1220. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1267. IndentMask = 196608, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1221. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1268. StatusMask = 251658240, - /// [Internal] Disable user resizing this column directly (it may however we resized indirectly from its left edge).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1222.
+ /// [Internal] Disable user resizing this column directly (it may however we resized indirectly from its left edge).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1269.
NoDirectResize = 1073741824 } - /// Flags for ImGui::TableNextRow().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1231.
+ /// Flags for ImGui::TableNextRow().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1278.
// DEBUG: enum ImGuiTableRowFlags_ // DEBUG: { // DEBUG: ImGuiTableRowFlags_None = 0, @@ -691,13 +702,13 @@ public enum ImGuiTableColumnFlags [Flags] public enum ImGuiTableRowFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1233.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1280.
None = 0, - /// Identify header row (set default background color + width of its contents accounted differently for auto column width).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1234.
+ /// Identify header row (set default background color + width of its contents accounted differently for auto column width).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1281.
Headers = 1 } - /// Enum for ImGui::TableSetBgColor().
Background colors are rendering in 3 layers:.
- Layer 0: draw with RowBg0 color if set, otherwise draw with ColumnBg0 if set.
- Layer 1: draw with RowBg1 color if set, otherwise draw with ColumnBg1 if set.
- Layer 2: draw with CellBg color if set.
The purpose of the two row/columns layers is to let you decide if a background color changes should override or blend with the existing color.
When using ImGuiTableFlags_RowBg on the table, each row has the RowBg0 color automatically set for odd/even rows.
If you set the color of RowBg0 target, your color will override the existing RowBg0 color.
If you set the color of RowBg1 or ColumnBg1 target, your color will blend over the RowBg0 color.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1246.
+ /// Enum for ImGui::TableSetBgColor().
Background colors are rendering in 3 layers:.
- Layer 0: draw with RowBg0 color if set, otherwise draw with ColumnBg0 if set.
- Layer 1: draw with RowBg1 color if set, otherwise draw with ColumnBg1 if set.
- Layer 2: draw with CellBg color if set.
The purpose of the two row/columns layers is to let you decide if a background color changes should override or blend with the existing color.
When using ImGuiTableFlags_RowBg on the table, each row has the RowBg0 color automatically set for odd/even rows.
If you set the color of RowBg0 target, your color will override the existing RowBg0 color.
If you set the color of RowBg1 or ColumnBg1 target, your color will blend over the RowBg0 color.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1293.
// DEBUG: enum ImGuiTableBgTarget_ // DEBUG: { // DEBUG: ImGuiTableBgTarget_None = 0, @@ -707,17 +718,17 @@ public enum ImGuiTableRowFlags // DEBUG: } public enum ImGuiTableBgTarget { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1248.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1295.
None = 0, - /// Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1249.
+ /// Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1296.
RowBg0 = 1, - /// Set row background color 1 (generally used for selection marking).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1250.
+ /// Set row background color 1 (generally used for selection marking).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1297.
RowBg1 = 2, - /// Set cell background color (top-most color).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1251.
+ /// Set cell background color (top-most color).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1298.
CellBg = 3 } - /// Flags for ImGui::IsWindowFocused().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1255.
+ /// Flags for ImGui::IsWindowFocused().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1302.
// DEBUG: enum ImGuiFocusedFlags_ // DEBUG: { // DEBUG: ImGuiFocusedFlags_None = 0, @@ -725,27 +736,29 @@ public enum ImGuiTableBgTarget // DEBUG: ImGuiFocusedFlags_RootWindow = 1 << 1, // Test from root window (top most parent of the current hierarchy) // DEBUG: ImGuiFocusedFlags_AnyWindow = 1 << 2, // Return true if any window is focused. Important: If you are trying to tell how to dispatch your low-level inputs, do NOT use this. Use 'io.WantCaptureMouse' instead! Please read the FAQ! // DEBUG: ImGuiFocusedFlags_NoPopupHierarchy = 1 << 3, // Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow) - // DEBUG: //ImGuiFocusedFlags_DockHierarchy = 1 << 4, // Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow) + // DEBUG: ImGuiFocusedFlags_DockHierarchy = 1 << 4, // Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow) // DEBUG: ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows // DEBUG: } [Flags] public enum ImGuiFocusedFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1257.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1304.
None = 0, - /// Return true if any children of the window is focused.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1258.
+ /// Return true if any children of the window is focused.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1305.
ChildWindows = 1, - /// Test from root window (top most parent of the current hierarchy).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1259.
+ /// Test from root window (top most parent of the current hierarchy).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1306.
RootWindow = 2, - /// Return true if any window is focused. Important: If you are trying to tell how to dispatch your low-level inputs, do NOT use this. Use 'io.WantCaptureMouse' instead! Please read the FAQ!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1260.
+ /// Return true if any window is focused. Important: If you are trying to tell how to dispatch your low-level inputs, do NOT use this. Use 'io.WantCaptureMouse' instead! Please read the FAQ!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1307.
AnyWindow = 4, - /// Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1261.
+ /// Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1308.
NoPopupHierarchy = 8, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1263. + /// Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1309.
+ DockHierarchy = 16, + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1310. RootAndChildWindows = 3 } - /// Flags for ImGui::IsItemHovered(), ImGui::IsWindowHovered().
Note: if you are trying to check whether your mouse should be dispatched to Dear ImGui or to your app, you should use 'io.WantCaptureMouse' instead! Please read the FAQ!
Note: windows with the ImGuiWindowFlags_NoInputs flag are ignored by IsWindowHovered() calls.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1269.
+ /// Flags for ImGui::IsItemHovered(), ImGui::IsWindowHovered().
Note: if you are trying to check whether your mouse should be dispatched to Dear ImGui or to your app, you should use 'io.WantCaptureMouse' instead! Please read the FAQ!
Note: windows with the ImGuiWindowFlags_NoInputs flag are ignored by IsWindowHovered() calls.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1316.
// DEBUG: enum ImGuiHoveredFlags_ // DEBUG: { // DEBUG: ImGuiHoveredFlags_None = 0, // Return true if directly over the item/window, not obstructed by another window, not obstructed by an active popup or modal blocking inputs under them. @@ -753,7 +766,7 @@ public enum ImGuiFocusedFlags // DEBUG: ImGuiHoveredFlags_RootWindow = 1 << 1, // IsWindowHovered() only: Test from root window (top most parent of the current hierarchy) // DEBUG: ImGuiHoveredFlags_AnyWindow = 1 << 2, // IsWindowHovered() only: Return true if any window is hovered // DEBUG: ImGuiHoveredFlags_NoPopupHierarchy = 1 << 3, // IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow) - // DEBUG: //ImGuiHoveredFlags_DockHierarchy = 1 << 4, // IsWindowHovered() only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow) + // DEBUG: ImGuiHoveredFlags_DockHierarchy = 1 << 4, // IsWindowHovered() only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow) // DEBUG: ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5, // Return true even if a popup window is normally blocking access to this item/window // DEBUG: //ImGuiHoveredFlags_AllowWhenBlockedByModal = 1 << 6, // Return true even if a modal popup window is normally blocking access to this item/window. FIXME-TODO: Unavailable yet. // DEBUG: ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7, // Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns. @@ -766,33 +779,66 @@ public enum ImGuiFocusedFlags [Flags] public enum ImGuiHoveredFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1271.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1318.
None = 0, - /// IsWindowHovered() only: Return true if any children of the window is hovered.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1272.
+ /// IsWindowHovered() only: Return true if any children of the window is hovered.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1319.
ChildWindows = 1, - /// IsWindowHovered() only: Test from root window (top most parent of the current hierarchy).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1273.
+ /// IsWindowHovered() only: Test from root window (top most parent of the current hierarchy).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1320.
RootWindow = 2, - /// IsWindowHovered() only: Return true if any window is hovered.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1274.
+ /// IsWindowHovered() only: Return true if any window is hovered.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1321.
AnyWindow = 4, - /// IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1275.
+ /// IsWindowHovered() only: Do not consider popup hierarchy (do not treat popup emitter as parent of popup) (when used with _ChildWindows or _RootWindow).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1322.
NoPopupHierarchy = 8, - /// Return true even if a popup window is normally blocking access to this item/window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1277.
+ /// IsWindowHovered() only: Consider docking hierarchy (treat dockspace host as parent of docked window) (when used with _ChildWindows or _RootWindow).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1323.
+ DockHierarchy = 16, + /// Return true even if a popup window is normally blocking access to this item/window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1324.
AllowWhenBlockedByPopup = 32, - /// Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1279.
+ /// Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1326.
AllowWhenBlockedByActiveItem = 128, - /// IsItemHovered() only: Return true even if the position is obstructed or overlapped by another window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1280.
+ /// IsItemHovered() only: Return true even if the position is obstructed or overlapped by another window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1327.
AllowWhenOverlapped = 256, - /// IsItemHovered() only: Return true even if the item is disabled.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1281.
+ /// IsItemHovered() only: Return true even if the item is disabled.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1328.
AllowWhenDisabled = 512, - /// Disable using gamepad/keyboard navigation state when active, always query mouse.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1282.
+ /// Disable using gamepad/keyboard navigation state when active, always query mouse.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1329.
NoNavOverride = 1024, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1283. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1330. RectOnly = 416, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1284. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1331. RootAndChildWindows = 3 } - /// Flags for ImGui::BeginDragDropSource(), ImGui::AcceptDragDropPayload().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1288.
+ /// Flags for ImGui::DockSpace(), shared/inherited by child nodes.
(Some flags can be applied to individual nodes directly).
FIXME-DOCK: Also see ImGuiDockNodeFlagsPrivate_ which may involve using the WIP and internal DockBuilder api.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1337.
+ // DEBUG: enum ImGuiDockNodeFlags_ + // DEBUG: { + // DEBUG: ImGuiDockNodeFlags_None = 0, + // DEBUG: ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0, // Shared // Don't display the dockspace node but keep it alive. Windows docked into this dockspace node won't be undocked. + // DEBUG: //ImGuiDockNodeFlags_NoCentralNode = 1 << 1, // Shared // Disable Central Node (the node which can stay empty) + // DEBUG: ImGuiDockNodeFlags_NoDockingInCentralNode = 1 << 2, // Shared // Disable docking inside the Central Node, which will be always kept empty. + // DEBUG: ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3, // Shared // Enable passthru dockspace: 1) DockSpace() will render a ImGuiCol_WindowBg background covering everything excepted the Central Node when empty. Meaning the host window should probably use SetNextWindowBgAlpha(0.0f) prior to Begin() when using this. 2) When Central Node is empty: let inputs pass-through + won't display a DockingEmptyBg background. See demo for details. + // DEBUG: ImGuiDockNodeFlags_NoSplit = 1 << 4, // Shared/Local // Disable splitting the node into smaller nodes. Useful e.g. when embedding dockspaces into a main root one (the root one may have splitting disabled to reduce confusion). Note: when turned off, existing splits will be preserved. + // DEBUG: ImGuiDockNodeFlags_NoResize = 1 << 5, // Shared/Local // Disable resizing node using the splitter/separators. Useful with programmatically setup dockspaces. + // DEBUG: ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6 // Shared/Local // Tab bar will automatically hide when there is a single window in the dock node. + // DEBUG: } + [Flags] + public enum ImGuiDockNodeFlags + { + /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1339.
+ None = 0, + /// Shared.
Don't display the dockspace node but keep it alive. Windows docked into this dockspace node won't be undocked.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1340.
+ KeepAliveOnly = 1, + /// Shared.
Disable docking inside the Central Node, which will be always kept empty.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1342.
+ NoDockingInCentralNode = 4, + /// Shared.
Enable passthru dockspace: 1) DockSpace() will render a ImGuiCol_WindowBg background covering everything excepted the Central Node when empty. Meaning the host window should probably use SetNextWindowBgAlpha(0.0f) prior to Begin() when using this. 2) When Central Node is empty: let inputs pass-through + won't display a DockingEmptyBg background. See demo for details.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1343.
+ PassthruCentralNode = 8, + /// Shared/Local.
Disable splitting the node into smaller nodes. Useful e.g. when embedding dockspaces into a main root one (the root one may have splitting disabled to reduce confusion). Note: when turned off, existing splits will be preserved.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1344.
+ NoSplit = 16, + /// Shared/Local.
Disable resizing node using the splitter/separators. Useful with programmatically setup dockspaces.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1345.
+ NoResize = 32, + /// Shared/Local.
Tab bar will automatically hide when there is a single window in the dock node.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1346.
+ AutoHideTabBar = 64 + } + + /// Flags for ImGui::BeginDragDropSource(), ImGui::AcceptDragDropPayload().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1350.
// DEBUG: enum ImGuiDragDropFlags_ // DEBUG: { // DEBUG: ImGuiDragDropFlags_None = 0, @@ -812,31 +858,31 @@ public enum ImGuiHoveredFlags [Flags] public enum ImGuiDragDropFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1290.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1352.
None = 0, - /// By default, a successful call to BeginDragDropSource opens a tooltip so you can display a preview or description of the source contents. This flag disable this behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1292.
+ /// By default, a successful call to BeginDragDropSource opens a tooltip so you can display a preview or description of the source contents. This flag disable this behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1354.
SourceNoPreviewTooltip = 1, - /// By default, when dragging we clear data so that IsItemHovered() will return false, to avoid subsequent user code submitting tooltips. This flag disable this behavior so you can still call IsItemHovered() on the source item.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1293.
+ /// By default, when dragging we clear data so that IsItemHovered() will return false, to avoid subsequent user code submitting tooltips. This flag disable this behavior so you can still call IsItemHovered() on the source item.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1355.
SourceNoDisableHover = 2, - /// Disable the behavior that allows to open tree nodes and collapsing header by holding over them while dragging a source item.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1294.
+ /// Disable the behavior that allows to open tree nodes and collapsing header by holding over them while dragging a source item.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1356.
SourceNoHoldToOpenOthers = 4, - /// Allow items such as Text(), Image() that have no unique identifier to be used as drag source, by manufacturing a temporary identifier based on their window-relative position. This is extremely unusual within the dear imgui ecosystem and so we made it explicit.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1295.
+ /// Allow items such as Text(), Image() that have no unique identifier to be used as drag source, by manufacturing a temporary identifier based on their window-relative position. This is extremely unusual within the dear imgui ecosystem and so we made it explicit.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1357.
SourceAllowNullID = 8, - /// External source (from outside of dear imgui), won't attempt to read current item/window info. Will always return true. Only one Extern source can be active simultaneously.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1296.
+ /// External source (from outside of dear imgui), won't attempt to read current item/window info. Will always return true. Only one Extern source can be active simultaneously.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1358.
SourceExtern = 16, - /// Automatically expire the payload if the source cease to be submitted (otherwise payloads are persisting while being dragged).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1297.
+ /// Automatically expire the payload if the source cease to be submitted (otherwise payloads are persisting while being dragged).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1359.
SourceAutoExpirePayload = 32, - /// AcceptDragDropPayload() will returns true even before the mouse button is released. You can then call IsDelivery() to test if the payload needs to be delivered.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1299.
+ /// AcceptDragDropPayload() will returns true even before the mouse button is released. You can then call IsDelivery() to test if the payload needs to be delivered.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1361.
AcceptBeforeDelivery = 1024, - /// Do not draw the default highlight rectangle when hovering over target.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1300.
+ /// Do not draw the default highlight rectangle when hovering over target.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1362.
AcceptNoDrawDefaultRect = 2048, - /// Request hiding the BeginDragDropSource tooltip from the BeginDragDropTarget site.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1301.
+ /// Request hiding the BeginDragDropSource tooltip from the BeginDragDropTarget site.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1363.
AcceptNoPreviewTooltip = 4096, - /// For peeking ahead and inspecting the payload before delivery.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1302.
+ /// For peeking ahead and inspecting the payload before delivery.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1364.
AcceptPeekOnly = 3072 } - /// A primary data type.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1310.
+ /// A primary data type.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1372.
// DEBUG: enum ImGuiDataType_ // DEBUG: { // DEBUG: ImGuiDataType_S8, // signed char / char (with sensible compilers) @@ -853,29 +899,29 @@ public enum ImGuiDragDropFlags // DEBUG: } public enum ImGuiDataType { - /// Signed char / char (with sensible compilers).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1312.
+ /// Signed char / char (with sensible compilers).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1374.
S8 = 0, - /// Unsigned char.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1313.
+ /// Unsigned char.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1375.
U8 = 1, - /// Short.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1314.
+ /// Short.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1376.
S16 = 2, - /// Unsigned short.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1315.
+ /// Unsigned short.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1377.
U16 = 3, - /// Int.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1316.
+ /// Int.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1378.
S32 = 4, - /// Unsigned int.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1317.
+ /// Unsigned int.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1379.
U32 = 5, - /// Long long / __int64.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1318.
+ /// Long long / __int64.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1380.
S64 = 6, - /// Unsigned long long / unsigned __int64.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1319.
+ /// Unsigned long long / unsigned __int64.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1381.
U64 = 7, - /// Float.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1320.
+ /// Float.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1382.
Float = 8, - /// Double.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1321.
+ /// Double.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1383.
Double = 9, } - /// A cardinal direction.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1326.
+ /// A cardinal direction.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1388.
// DEBUG: enum ImGuiDir_ // DEBUG: { // DEBUG: ImGuiDir_None = -1, @@ -887,19 +933,19 @@ public enum ImGuiDataType // DEBUG: } public enum ImGuiDir { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1328.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1390.
None = -1, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1329. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1391. Left = 0, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1330. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1392. Right = 1, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1331. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1393. Up = 2, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1332. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1394. Down = 3, } - /// A sorting direction.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1337.
+ /// A sorting direction.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1399.
// DEBUG: enum ImGuiSortDirection_ // DEBUG: { // DEBUG: ImGuiSortDirection_None = 0, @@ -908,15 +954,15 @@ public enum ImGuiDir // DEBUG: } public enum ImGuiSortDirection { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1339.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1401.
None = 0, - /// Ascending = 0->9, A->Z etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1340.
+ /// Ascending = 0->9, A->Z etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1402.
Ascending = 1, - /// Descending = 9->0, Z->A etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1341.
+ /// Descending = 9->0, Z->A etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1403.
Descending = 2 } - /// Keys value 0 to 511 are left unused as legacy native/opaque key values (< 1.87).
Keys value >= 512 are named keys (>= 1.87).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1346.
+ /// Keys value 0 to 511 are left unused as legacy native/opaque key values (< 1.87).
Keys value >= 512 are named keys (>= 1.87).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1408.
// DEBUG: enum ImGuiKey_ // DEBUG: { // DEBUG: // Keyboard @@ -1029,277 +1075,277 @@ public enum ImGuiSortDirection // DEBUG: } public enum ImGuiKey { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1349.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1411.
None = 0, - /// == ImGuiKey_NamedKey_BEGIN.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1350.
+ /// == ImGuiKey_NamedKey_BEGIN.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1412.
Tab = 512, - /// The key 'LeftArrow'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1351.
+ /// The key 'LeftArrow'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1413.
LeftArrow = 513, - /// The key 'RightArrow'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1352.
+ /// The key 'RightArrow'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1414.
RightArrow = 514, - /// The key 'UpArrow'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1353.
+ /// The key 'UpArrow'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1415.
UpArrow = 515, - /// The key 'DownArrow'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1354.
+ /// The key 'DownArrow'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1416.
DownArrow = 516, - /// The key 'PageUp'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1355.
+ /// The key 'PageUp'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1417.
PageUp = 517, - /// The key 'PageDown'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1356.
+ /// The key 'PageDown'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1418.
PageDown = 518, - /// The key 'Home'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1357.
+ /// The key 'Home'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1419.
Home = 519, - /// The key 'End'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1358.
+ /// The key 'End'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1420.
End = 520, - /// The key 'Insert'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1359.
+ /// The key 'Insert'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1421.
Insert = 521, - /// The key 'Delete'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1360.
+ /// The key 'Delete'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1422.
Delete = 522, - /// The key 'Backspace'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1361.
+ /// The key 'Backspace'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1423.
Backspace = 523, - /// The key 'Space'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1362.
+ /// The key 'Space'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1424.
Space = 524, - /// The key 'Enter'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1363.
+ /// The key 'Enter'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1425.
Enter = 525, - /// The key 'Escape'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1364.
+ /// The key 'Escape'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1426.
Escape = 526, - /// The key 'LeftCtrl'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1365.
+ /// The key 'LeftCtrl'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1427.
LeftCtrl = 527, - /// The key 'LeftShift'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1365.
+ /// The key 'LeftShift'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1427.
LeftShift = 528, - /// The key 'LeftAlt'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1365.
+ /// The key 'LeftAlt'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1427.
LeftAlt = 529, - /// The key 'LeftSuper'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1365.
+ /// The key 'LeftSuper'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1427.
LeftSuper = 530, - /// The key 'RightCtrl'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1366.
+ /// The key 'RightCtrl'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1428.
RightCtrl = 531, - /// The key 'RightShift'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1366.
+ /// The key 'RightShift'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1428.
RightShift = 532, - /// The key 'RightAlt'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1366.
+ /// The key 'RightAlt'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1428.
RightAlt = 533, - /// The key 'RightSuper'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1366.
+ /// The key 'RightSuper'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1428.
RightSuper = 534, - /// The key 'Menu'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1367.
+ /// The key 'Menu'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1429.
Menu = 535, - /// The key 'D0'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D0'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D0 = 536, - /// The key 'D1'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D1'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D1 = 537, - /// The key 'D2'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D2'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D2 = 538, - /// The key 'D3'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D3'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D3 = 539, - /// The key 'D4'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D4'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D4 = 540, - /// The key 'D5'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D5'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D5 = 541, - /// The key 'D6'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D6'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D6 = 542, - /// The key 'D7'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D7'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D7 = 543, - /// The key 'D8'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D8'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D8 = 544, - /// The key 'D9'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1368.
+ /// The key 'D9'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1430.
D9 = 545, - /// The key 'A'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'A'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
A = 546, - /// The key 'B'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'B'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
B = 547, - /// The key 'C'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'C'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
C = 548, - /// The key 'D'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'D'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
D = 549, - /// The key 'E'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'E'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
E = 550, - /// The key 'F'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'F'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
F = 551, - /// The key 'G'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'G'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
G = 552, - /// The key 'H'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'H'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
H = 553, - /// The key 'I'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'I'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
I = 554, - /// The key 'J'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1369.
+ /// The key 'J'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1431.
J = 555, - /// The key 'K'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'K'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
K = 556, - /// The key 'L'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'L'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
L = 557, - /// The key 'M'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'M'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
M = 558, - /// The key 'N'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'N'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
N = 559, - /// The key 'O'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'O'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
O = 560, - /// The key 'P'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'P'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
P = 561, - /// The key 'Q'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'Q'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
Q = 562, - /// The key 'R'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'R'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
R = 563, - /// The key 'S'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'S'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
S = 564, - /// The key 'T'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1370.
+ /// The key 'T'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1432.
T = 565, - /// The key 'U'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1371.
+ /// The key 'U'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1433.
U = 566, - /// The key 'V'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1371.
+ /// The key 'V'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1433.
V = 567, - /// The key 'W'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1371.
+ /// The key 'W'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1433.
W = 568, - /// The key 'X'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1371.
+ /// The key 'X'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1433.
X = 569, - /// The key 'Y'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1371.
+ /// The key 'Y'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1433.
Y = 570, - /// The key 'Z'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1371.
+ /// The key 'Z'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1433.
Z = 571, - /// The key 'F1'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1372.
+ /// The key 'F1'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1434.
F1 = 572, - /// The key 'F2'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1372.
+ /// The key 'F2'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1434.
F2 = 573, - /// The key 'F3'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1372.
+ /// The key 'F3'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1434.
F3 = 574, - /// The key 'F4'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1372.
+ /// The key 'F4'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1434.
F4 = 575, - /// The key 'F5'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1372.
+ /// The key 'F5'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1434.
F5 = 576, - /// The key 'F6'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1372.
+ /// The key 'F6'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1434.
F6 = 577, - /// The key 'F7'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1373.
+ /// The key 'F7'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1435.
F7 = 578, - /// The key 'F8'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1373.
+ /// The key 'F8'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1435.
F8 = 579, - /// The key 'F9'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1373.
+ /// The key 'F9'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1435.
F9 = 580, - /// The key 'F10'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1373.
+ /// The key 'F10'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1435.
F10 = 581, - /// The key 'F11'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1373.
+ /// The key 'F11'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1435.
F11 = 582, - /// The key 'F12'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1373.
+ /// The key 'F12'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1435.
F12 = 583, - /// '.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1374.
+ /// '.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1436.
Apostrophe = 584, - /// ,.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1375.
+ /// ,.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1437.
Comma = 585, - /// -.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1376.
+ /// -.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1438.
Minus = 586, - /// .
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1377.
+ /// .
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1439.
Period = 587, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1378. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1440. Slash = 588, - /// ;.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1379.
+ /// ;.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1441.
Semicolon = 589, - /// =.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1380.
+ /// =.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1442.
Equal = 590, - /// [.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1381.
+ /// [.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1443.
LeftBracket = 591, - /// \ (this text inhibit multiline comment caused by backslash).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1382.
+ /// \ (this text inhibit multiline comment caused by backslash).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1444.
Backslash = 592, - /// ].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1383.
+ /// ].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1445.
RightBracket = 593, - /// `.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1384.
+ /// `.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1446.
GraveAccent = 594, - /// The key 'CapsLock'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1385.
+ /// The key 'CapsLock'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1447.
CapsLock = 595, - /// The key 'ScrollLock'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1386.
+ /// The key 'ScrollLock'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1448.
ScrollLock = 596, - /// The key 'NumLock'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1387.
+ /// The key 'NumLock'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1449.
NumLock = 597, - /// The key 'PrintScreen'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1388.
+ /// The key 'PrintScreen'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1450.
PrintScreen = 598, - /// The key 'Pause'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1389.
+ /// The key 'Pause'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1451.
Pause = 599, - /// The key 'Keypad0'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1390.
+ /// The key 'Keypad0'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1452.
Keypad0 = 600, - /// The key 'Keypad1'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1390.
+ /// The key 'Keypad1'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1452.
Keypad1 = 601, - /// The key 'Keypad2'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1390.
+ /// The key 'Keypad2'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1452.
Keypad2 = 602, - /// The key 'Keypad3'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1390.
+ /// The key 'Keypad3'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1452.
Keypad3 = 603, - /// The key 'Keypad4'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1390.
+ /// The key 'Keypad4'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1452.
Keypad4 = 604, - /// The key 'Keypad5'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1391.
+ /// The key 'Keypad5'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1453.
Keypad5 = 605, - /// The key 'Keypad6'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1391.
+ /// The key 'Keypad6'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1453.
Keypad6 = 606, - /// The key 'Keypad7'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1391.
+ /// The key 'Keypad7'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1453.
Keypad7 = 607, - /// The key 'Keypad8'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1391.
+ /// The key 'Keypad8'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1453.
Keypad8 = 608, - /// The key 'Keypad9'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1391.
+ /// The key 'Keypad9'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1453.
Keypad9 = 609, - /// The key 'KeypadDecimal'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1392.
+ /// The key 'KeypadDecimal'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1454.
KeypadDecimal = 610, - /// The key 'KeypadDivide'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1393.
+ /// The key 'KeypadDivide'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1455.
KeypadDivide = 611, - /// The key 'KeypadMultiply'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1394.
+ /// The key 'KeypadMultiply'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1456.
KeypadMultiply = 612, - /// The key 'KeypadSubtract'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1395.
+ /// The key 'KeypadSubtract'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1457.
KeypadSubtract = 613, - /// The key 'KeypadAdd'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1396.
+ /// The key 'KeypadAdd'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1458.
KeypadAdd = 614, - /// The key 'KeypadEnter'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1397.
+ /// The key 'KeypadEnter'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1459.
KeypadEnter = 615, - /// The key 'KeypadEqual'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1398.
+ /// The key 'KeypadEqual'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1460.
KeypadEqual = 616, - /// Menu (Xbox).
+ (Switch).
Start/Options (PS).
--.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1401.
+ /// Menu (Xbox).
+ (Switch).
Start/Options (PS).
--.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1463.
GamepadStart = 617, - /// View (Xbox).
- (Switch).
Share (PS).
--.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1402.
+ /// View (Xbox).
- (Switch).
Share (PS).
--.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1464.
GamepadBack = 618, - /// Y (Xbox).
X (Switch).
Triangle (PS).
-> ImGuiNavInput_Input.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1403.
+ /// Y (Xbox).
X (Switch).
Triangle (PS).
-> ImGuiNavInput_Input.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1465.
GamepadFaceUp = 619, - /// A (Xbox).
B (Switch).
Cross (PS).
-> ImGuiNavInput_Activate.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1404.
+ /// A (Xbox).
B (Switch).
Cross (PS).
-> ImGuiNavInput_Activate.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1466.
GamepadFaceDown = 620, - /// X (Xbox).
Y (Switch).
Square (PS).
-> ImGuiNavInput_Menu.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1405.
+ /// X (Xbox).
Y (Switch).
Square (PS).
-> ImGuiNavInput_Menu.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1467.
GamepadFaceLeft = 621, - /// B (Xbox).
A (Switch).
Circle (PS).
-> ImGuiNavInput_Cancel.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1406.
+ /// B (Xbox).
A (Switch).
Circle (PS).
-> ImGuiNavInput_Cancel.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1468.
GamepadFaceRight = 622, - /// D-pad Up.
-> ImGuiNavInput_DpadUp.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1407.
+ /// D-pad Up.
-> ImGuiNavInput_DpadUp.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1469.
GamepadDpadUp = 623, - /// D-pad Down.
-> ImGuiNavInput_DpadDown.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1408.
+ /// D-pad Down.
-> ImGuiNavInput_DpadDown.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1470.
GamepadDpadDown = 624, - /// D-pad Left.
-> ImGuiNavInput_DpadLeft.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1409.
+ /// D-pad Left.
-> ImGuiNavInput_DpadLeft.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1471.
GamepadDpadLeft = 625, - /// D-pad Right.
-> ImGuiNavInput_DpadRight.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1410.
+ /// D-pad Right.
-> ImGuiNavInput_DpadRight.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1472.
GamepadDpadRight = 626, - /// L Bumper (Xbox).
L (Switch).
L1 (PS).
-> ImGuiNavInput_FocusPrev + ImGuiNavInput_TweakSlow.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1411.
+ /// L Bumper (Xbox).
L (Switch).
L1 (PS).
-> ImGuiNavInput_FocusPrev + ImGuiNavInput_TweakSlow.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1473.
GamepadL1 = 627, - /// R Bumper (Xbox).
R (Switch).
R1 (PS).
-> ImGuiNavInput_FocusNext + ImGuiNavInput_TweakFast.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1412.
+ /// R Bumper (Xbox).
R (Switch).
R1 (PS).
-> ImGuiNavInput_FocusNext + ImGuiNavInput_TweakFast.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1474.
GamepadR1 = 628, - /// L Trigger (Xbox).
ZL (Switch).
L2 (PS) [Analog].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1413.
+ /// L Trigger (Xbox).
ZL (Switch).
L2 (PS) [Analog].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1475.
GamepadL2 = 629, - /// R Trigger (Xbox).
ZR (Switch).
R2 (PS) [Analog].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1414.
+ /// R Trigger (Xbox).
ZR (Switch).
R2 (PS) [Analog].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1476.
GamepadR2 = 630, - /// L Thumbstick (Xbox).
L3 (Switch).
L3 (PS).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1415.
+ /// L Thumbstick (Xbox).
L3 (Switch).
L3 (PS).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1477.
GamepadL3 = 631, - /// R Thumbstick (Xbox).
R3 (Switch).
R3 (PS).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1416.
+ /// R Thumbstick (Xbox).
R3 (Switch).
R3 (PS).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1478.
GamepadR3 = 632, - /// [Analog].
-> ImGuiNavInput_LStickUp.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1417.
+ /// [Analog].
-> ImGuiNavInput_LStickUp.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1479.
GamepadLStickUp = 633, - /// [Analog].
-> ImGuiNavInput_LStickDown.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1418.
+ /// [Analog].
-> ImGuiNavInput_LStickDown.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1480.
GamepadLStickDown = 634, - /// [Analog].
-> ImGuiNavInput_LStickLeft.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1419.
+ /// [Analog].
-> ImGuiNavInput_LStickLeft.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1481.
GamepadLStickLeft = 635, - /// [Analog].
-> ImGuiNavInput_LStickRight.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1420.
+ /// [Analog].
-> ImGuiNavInput_LStickRight.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1482.
GamepadLStickRight = 636, - /// [Analog].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1421.
+ /// [Analog].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1483.
GamepadRStickUp = 637, - /// [Analog].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1422.
+ /// [Analog].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1484.
GamepadRStickDown = 638, - /// [Analog].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1423.
+ /// [Analog].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1485.
GamepadRStickLeft = 639, - /// [Analog].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1424.
+ /// [Analog].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1486.
GamepadRStickRight = 640, - /// The key 'ModCtrl'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1434.
+ /// The key 'ModCtrl'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1496.
ModCtrl = 641, - /// The key 'ModShift'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1434.
+ /// The key 'ModShift'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1496.
ModShift = 642, - /// The key 'ModAlt'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1434.
+ /// The key 'ModAlt'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1496.
ModAlt = 643, - /// The key 'ModSuper'.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1434.
+ /// The key 'ModSuper'.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1496.
ModSuper = 644, } - /// Configuration flags stored in io.ConfigFlags. Set by user/application.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1502.
+ /// Configuration flags stored in io.ConfigFlags. Set by user/application.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1564.
// DEBUG: enum ImGuiConfigFlags_ // DEBUG: { // DEBUG: ImGuiConfigFlags_None = 0, @@ -1310,6 +1356,15 @@ public enum ImGuiKey // DEBUG: ImGuiConfigFlags_NoMouse = 1 << 4, // Instruct imgui to clear mouse position/buttons in NewFrame(). This allows ignoring the mouse information set by the backend. // DEBUG: ImGuiConfigFlags_NoMouseCursorChange = 1 << 5, // Instruct backend to not alter mouse cursor shape and visibility. Use if the backend cursor changes are interfering with yours and you don't want to use SetMouseCursor() to change mouse cursor. You may want to honor requests from imgui by reading GetMouseCursor() yourself instead. // DEBUG: + // DEBUG: // [BETA] Docking + // DEBUG: ImGuiConfigFlags_DockingEnable = 1 << 6, // Docking enable flags. + // DEBUG: + // DEBUG: // [BETA] Viewports + // DEBUG: // When using viewports it is recommended that your default value for ImGuiCol_WindowBg is opaque (Alpha=1.0) so transition to a viewport won't be noticeable. + // DEBUG: ImGuiConfigFlags_ViewportsEnable = 1 << 10, // Viewport enable flags (require both ImGuiBackendFlags_PlatformHasViewports + ImGuiBackendFlags_RendererHasViewports set by the respective backends) + // DEBUG: ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14, // [BETA: Don't use] FIXME-DPI: Reposition and resize imgui windows when the DpiScale of a viewport changed (mostly useful for the main viewport hosting other window). Note that resizing the main window itself is up to your application. + // DEBUG: ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15, // [BETA: Don't use] FIXME-DPI: Request bitmap-scaled fonts to match DpiScale. This is a very low-quality workaround. The correct way to handle DPI is _currently_ to replace the atlas and/or fonts in the Platform_OnChangedViewport callback, but this is all early work in progress. + // DEBUG: // DEBUG: // User storage (to allow your backend/engine to communicate to code that may be shared between multiple projects. Those flags are NOT used by core Dear ImGui) // DEBUG: ImGuiConfigFlags_IsSRGB = 1 << 20, // Application is SRGB-aware. // DEBUG: ImGuiConfigFlags_IsTouchScreen = 1 << 21 // Application is using a touch screen instead of a mouse. @@ -1317,51 +1372,70 @@ public enum ImGuiKey [Flags] public enum ImGuiConfigFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1504.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1566.
None = 0, - /// Master keyboard navigation enable flag. NewFrame() will automatically fill io.NavInputs[] based on io.AddKeyEvent() calls.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1505.
+ /// Master keyboard navigation enable flag. NewFrame() will automatically fill io.NavInputs[] based on io.AddKeyEvent() calls.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1567.
NavEnableKeyboard = 1, - /// Master gamepad navigation enable flag. This is mostly to instruct your imgui backend to fill io.NavInputs[]. Backend also needs to set ImGuiBackendFlags_HasGamepad.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1506.
+ /// Master gamepad navigation enable flag. This is mostly to instruct your imgui backend to fill io.NavInputs[]. Backend also needs to set ImGuiBackendFlags_HasGamepad.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1568.
NavEnableGamepad = 2, - /// Instruct navigation to move the mouse cursor. May be useful on TV/console systems where moving a virtual mouse is awkward. Will update io.MousePos and set io.WantSetMousePos=true. If enabled you MUST honor io.WantSetMousePos requests in your backend, otherwise ImGui will react as if the mouse is jumping around back and forth.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1507.
+ /// Instruct navigation to move the mouse cursor. May be useful on TV/console systems where moving a virtual mouse is awkward. Will update io.MousePos and set io.WantSetMousePos=true. If enabled you MUST honor io.WantSetMousePos requests in your backend, otherwise ImGui will react as if the mouse is jumping around back and forth.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1569.
NavEnableSetMousePos = 4, - /// Instruct navigation to not set the io.WantCaptureKeyboard flag when io.NavActive is set.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1508.
+ /// Instruct navigation to not set the io.WantCaptureKeyboard flag when io.NavActive is set.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1570.
NavNoCaptureKeyboard = 8, - /// Instruct imgui to clear mouse position/buttons in NewFrame(). This allows ignoring the mouse information set by the backend.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1509.
+ /// Instruct imgui to clear mouse position/buttons in NewFrame(). This allows ignoring the mouse information set by the backend.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1571.
NoMouse = 16, - /// Instruct backend to not alter mouse cursor shape and visibility. Use if the backend cursor changes are interfering with yours and you don't want to use SetMouseCursor() to change mouse cursor. You may want to honor requests from imgui by reading GetMouseCursor() yourself instead.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1510.
+ /// Instruct backend to not alter mouse cursor shape and visibility. Use if the backend cursor changes are interfering with yours and you don't want to use SetMouseCursor() to change mouse cursor. You may want to honor requests from imgui by reading GetMouseCursor() yourself instead.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1572.
NoMouseCursorChange = 32, - /// Application is SRGB-aware.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1513.
+ /// Docking enable flags.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1575.
+ DockingEnable = 64, + /// Viewport enable flags (require both ImGuiBackendFlags_PlatformHasViewports + ImGuiBackendFlags_RendererHasViewports set by the respective backends).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1579.
+ ViewportsEnable = 1024, + /// [BETA: Don't use] FIXME-DPI: Reposition and resize imgui windows when the DpiScale of a viewport changed (mostly useful for the main viewport hosting other window). Note that resizing the main window itself is up to your application.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1580.
+ DpiEnableScaleViewports = 16384, + /// [BETA: Don't use] FIXME-DPI: Request bitmap-scaled fonts to match DpiScale. This is a very low-quality workaround. The correct way to handle DPI is _currently_ to replace the atlas and/or fonts in the Platform_OnChangedViewport callback, but this is all early work in progress.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1581.
+ DpiEnableScaleFonts = 32768, + /// Application is SRGB-aware.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1584.
IsSRGB = 1048576, - /// Application is using a touch screen instead of a mouse.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1514.
+ /// Application is using a touch screen instead of a mouse.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1585.
IsTouchScreen = 2097152 } - /// Backend capabilities flags stored in io.BackendFlags. Set by imgui_impl_xxx or custom backend.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1518.
+ /// Backend capabilities flags stored in io.BackendFlags. Set by imgui_impl_xxx or custom backend.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1589.
// DEBUG: enum ImGuiBackendFlags_ // DEBUG: { // DEBUG: ImGuiBackendFlags_None = 0, // DEBUG: ImGuiBackendFlags_HasGamepad = 1 << 0, // Backend Platform supports gamepad and currently has one connected. // DEBUG: ImGuiBackendFlags_HasMouseCursors = 1 << 1, // Backend Platform supports honoring GetMouseCursor() value to change the OS cursor shape. // DEBUG: ImGuiBackendFlags_HasSetMousePos = 1 << 2, // Backend Platform supports io.WantSetMousePos requests to reposition the OS mouse position (only used if ImGuiConfigFlags_NavEnableSetMousePos is set). - // DEBUG: ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3 // Backend Renderer supports ImDrawCmd::VtxOffset. This enables output of large meshes (64K+ vertices) while still using 16-bit indices. + // DEBUG: ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3, // Backend Renderer supports ImDrawCmd::VtxOffset. This enables output of large meshes (64K+ vertices) while still using 16-bit indices. + // DEBUG: + // DEBUG: // [BETA] Viewports + // DEBUG: ImGuiBackendFlags_PlatformHasViewports = 1 << 10, // Backend Platform supports multiple viewports. + // DEBUG: ImGuiBackendFlags_HasMouseHoveredViewport=1 << 11, // Backend Platform supports calling io.AddMouseViewportEvent() with the viewport under the mouse. IF POSSIBLE, ignore viewports with the ImGuiViewportFlags_NoInputs flag (Win32 backend, GLFW 3.30+ backend can do this, SDL backend cannot). If this cannot be done, Dear ImGui needs to use a flawed heuristic to find the viewport under. + // DEBUG: ImGuiBackendFlags_RendererHasViewports = 1 << 12 // Backend Renderer supports multiple viewports. // DEBUG: } [Flags] public enum ImGuiBackendFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1520.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1591.
None = 0, - /// Backend Platform supports gamepad and currently has one connected.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1521.
+ /// Backend Platform supports gamepad and currently has one connected.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1592.
HasGamepad = 1, - /// Backend Platform supports honoring GetMouseCursor() value to change the OS cursor shape.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1522.
+ /// Backend Platform supports honoring GetMouseCursor() value to change the OS cursor shape.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1593.
HasMouseCursors = 2, - /// Backend Platform supports io.WantSetMousePos requests to reposition the OS mouse position (only used if ImGuiConfigFlags_NavEnableSetMousePos is set).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1523.
+ /// Backend Platform supports io.WantSetMousePos requests to reposition the OS mouse position (only used if ImGuiConfigFlags_NavEnableSetMousePos is set).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1594.
HasSetMousePos = 4, - /// Backend Renderer supports ImDrawCmd::VtxOffset. This enables output of large meshes (64K+ vertices) while still using 16-bit indices.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1524.
- RendererHasVtxOffset = 8 + /// Backend Renderer supports ImDrawCmd::VtxOffset. This enables output of large meshes (64K+ vertices) while still using 16-bit indices.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1595.
+ RendererHasVtxOffset = 8, + /// Backend Platform supports multiple viewports.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1598.
+ PlatformHasViewports = 1024, + /// Backend Platform supports calling io.AddMouseViewportEvent() with the viewport under the mouse. IF POSSIBLE, ignore viewports with the ImGuiViewportFlags_NoInputs flag (Win32 backend, GLFW 3.30+ backend can do this, SDL backend cannot). If this cannot be done, Dear ImGui needs to use a flawed heuristic to find the viewport under.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1599.
+ HasMouseHoveredViewport = 2048, + /// Backend Renderer supports multiple viewports.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1600.
+ RendererHasViewports = 4096 } - /// Enumeration for PushStyleColor() / PopStyleColor().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1528.
+ /// Enumeration for PushStyleColor() / PopStyleColor().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1604.
// DEBUG: enum ImGuiCol_ // DEBUG: { // DEBUG: ImGuiCol_Text, @@ -1402,6 +1476,8 @@ public enum ImGuiBackendFlags // DEBUG: ImGuiCol_TabActive, // DEBUG: ImGuiCol_TabUnfocused, // DEBUG: ImGuiCol_TabUnfocusedActive, + // DEBUG: ImGuiCol_DockingPreview, // Preview overlay color when about to docking something + // DEBUG: ImGuiCol_DockingEmptyBg, // Background color for empty node (e.g. CentralNode with no window docked into it) // DEBUG: ImGuiCol_PlotLines, // DEBUG: ImGuiCol_PlotLinesHovered, // DEBUG: ImGuiCol_PlotHistogram, @@ -1421,115 +1497,119 @@ public enum ImGuiBackendFlags // DEBUG: } public enum ImGuiCol { - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1530. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1606. Text = 0, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1531. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1607. TextDisabled = 1, - /// Background of normal windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1532.
+ /// Background of normal windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1608.
WindowBg = 2, - /// Background of child windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1533.
+ /// Background of child windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1609.
ChildBg = 3, - /// Background of popups, menus, tooltips windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1534.
+ /// Background of popups, menus, tooltips windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1610.
PopupBg = 4, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1535. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1611. Border = 5, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1536. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1612. BorderShadow = 6, - /// Background of checkbox, radio button, plot, slider, text input.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1537.
+ /// Background of checkbox, radio button, plot, slider, text input.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1613.
FrameBg = 7, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1538. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1614. FrameBgHovered = 8, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1539. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1615. FrameBgActive = 9, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1540. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1616. TitleBg = 10, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1541. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1617. TitleBgActive = 11, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1542. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1618. TitleBgCollapsed = 12, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1543. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1619. MenuBarBg = 13, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1544. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1620. ScrollbarBg = 14, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1545. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1621. ScrollbarGrab = 15, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1546. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1622. ScrollbarGrabHovered = 16, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1547. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1623. ScrollbarGrabActive = 17, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1548. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1624. CheckMark = 18, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1549. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1625. SliderGrab = 19, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1550. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1626. SliderGrabActive = 20, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1551. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1627. Button = 21, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1552. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1628. ButtonHovered = 22, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1553. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1629. ButtonActive = 23, - /// Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1554.
+ /// Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1630.
Header = 24, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1555. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1631. HeaderHovered = 25, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1556. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1632. HeaderActive = 26, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1557. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1633. Separator = 27, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1558. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1634. SeparatorHovered = 28, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1559. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1635. SeparatorActive = 29, - /// Resize grip in lower-right and lower-left corners of windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1560.
+ /// Resize grip in lower-right and lower-left corners of windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1636.
ResizeGrip = 30, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1561. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1637. ResizeGripHovered = 31, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1562. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1638. ResizeGripActive = 32, - /// TabItem in a TabBar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1563.
+ /// TabItem in a TabBar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1639.
Tab = 33, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1564. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1640. TabHovered = 34, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1565. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1641. TabActive = 35, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1566. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1642. TabUnfocused = 36, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1567. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1643. TabUnfocusedActive = 37, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1568. - PlotLines = 38, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1569. - PlotLinesHovered = 39, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1570. - PlotHistogram = 40, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1571. - PlotHistogramHovered = 41, - /// Table header background.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1572.
- TableHeaderBg = 42, - /// Table outer and header borders (prefer using Alpha=1.0 here).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1573.
- TableBorderStrong = 43, - /// Table inner borders (prefer using Alpha=1.0 here).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1574.
- TableBorderLight = 44, - /// Table row background (even rows).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1575.
- TableRowBg = 45, - /// Table row background (odd rows).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1576.
- TableRowBgAlt = 46, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1577. - TextSelectedBg = 47, - /// Rectangle highlighting a drop target.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1578.
- DragDropTarget = 48, - /// Gamepad/keyboard: current highlighted item.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1579.
- NavHighlight = 49, - /// Highlight window when using CTRL+TAB.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1580.
- NavWindowingHighlight = 50, - /// Darken/colorize entire screen behind the CTRL+TAB window list, when active.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1581.
- NavWindowingDimBg = 51, - /// Darken/colorize entire screen behind a modal window, when one is active.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1582.
- ModalWindowDimBg = 52, + /// Preview overlay color when about to docking something.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1644.
+ DockingPreview = 38, + /// Background color for empty node (e.g. CentralNode with no window docked into it).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1645.
+ DockingEmptyBg = 39, + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1646. + PlotLines = 40, + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1647. + PlotLinesHovered = 41, + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1648. + PlotHistogram = 42, + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1649. + PlotHistogramHovered = 43, + /// Table header background.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1650.
+ TableHeaderBg = 44, + /// Table outer and header borders (prefer using Alpha=1.0 here).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1651.
+ TableBorderStrong = 45, + /// Table inner borders (prefer using Alpha=1.0 here).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1652.
+ TableBorderLight = 46, + /// Table row background (even rows).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1653.
+ TableRowBg = 47, + /// Table row background (odd rows).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1654.
+ TableRowBgAlt = 48, + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1655. + TextSelectedBg = 49, + /// Rectangle highlighting a drop target.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1656.
+ DragDropTarget = 50, + /// Gamepad/keyboard: current highlighted item.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1657.
+ NavHighlight = 51, + /// Highlight window when using CTRL+TAB.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1658.
+ NavWindowingHighlight = 52, + /// Darken/colorize entire screen behind the CTRL+TAB window list, when active.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1659.
+ NavWindowingDimBg = 53, + /// Darken/colorize entire screen behind a modal window, when one is active.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1660.
+ ModalWindowDimBg = 54, } - /// Enumeration for PushStyleVar() / PopStyleVar() to temporarily modify the ImGuiStyle structure.
- The enum only refers to fields of ImGuiStyle which makes sense to be pushed/popped inside UI code.
During initialization or between frames, feel free to just poke into ImGuiStyle directly.
- Tip: Use your programming IDE navigation facilities on the names in the _second column_ below to find the actual members and their description.
In Visual Studio IDE: CTRL+comma ("Edit.GoToAll") can follow symbols in comments, whereas CTRL+F12 ("Edit.GoToImplementation") cannot.
With Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols in comments.
- When changing this enum, you need to update the associated internal table GStyleVarInfo[] accordingly. This is where we link enum values to members offset/type.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1593.
+ /// Enumeration for PushStyleVar() / PopStyleVar() to temporarily modify the ImGuiStyle structure.
- The enum only refers to fields of ImGuiStyle which makes sense to be pushed/popped inside UI code.
During initialization or between frames, feel free to just poke into ImGuiStyle directly.
- Tip: Use your programming IDE navigation facilities on the names in the _second column_ below to find the actual members and their description.
In Visual Studio IDE: CTRL+comma ("Edit.GoToAll") can follow symbols in comments, whereas CTRL+F12 ("Edit.GoToImplementation") cannot.
With Visual Assist installed: ALT+G ("VAssistX.GoToImplementation") can also follow symbols in comments.
- When changing this enum, you need to update the associated internal table GStyleVarInfo[] accordingly. This is where we link enum values to members offset/type.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1671.
// DEBUG: enum ImGuiStyleVar_ // DEBUG: { // DEBUG: // Enum name --------------------- // Member in ImGuiStyle structure (see ImGuiStyle for descriptions) @@ -1562,59 +1642,59 @@ public enum ImGuiCol // DEBUG: } public enum ImGuiStyleVar { - /// Float.
Alpha.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1596.
+ /// Float.
Alpha.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1674.
Alpha = 0, - /// Float.
DisabledAlpha.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1597.
+ /// Float.
DisabledAlpha.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1675.
DisabledAlpha = 1, - /// ImVec2.
WindowPadding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1598.
+ /// ImVec2.
WindowPadding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1676.
WindowPadding = 2, - /// Float.
WindowRounding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1599.
+ /// Float.
WindowRounding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1677.
WindowRounding = 3, - /// Float.
WindowBorderSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1600.
+ /// Float.
WindowBorderSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1678.
WindowBorderSize = 4, - /// ImVec2.
WindowMinSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1601.
+ /// ImVec2.
WindowMinSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1679.
WindowMinSize = 5, - /// ImVec2.
WindowTitleAlign.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1602.
+ /// ImVec2.
WindowTitleAlign.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1680.
WindowTitleAlign = 6, - /// Float.
ChildRounding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1603.
+ /// Float.
ChildRounding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1681.
ChildRounding = 7, - /// Float.
ChildBorderSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1604.
+ /// Float.
ChildBorderSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1682.
ChildBorderSize = 8, - /// Float.
PopupRounding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1605.
+ /// Float.
PopupRounding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1683.
PopupRounding = 9, - /// Float.
PopupBorderSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1606.
+ /// Float.
PopupBorderSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1684.
PopupBorderSize = 10, - /// ImVec2.
FramePadding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1607.
+ /// ImVec2.
FramePadding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1685.
FramePadding = 11, - /// Float.
FrameRounding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1608.
+ /// Float.
FrameRounding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1686.
FrameRounding = 12, - /// Float.
FrameBorderSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1609.
+ /// Float.
FrameBorderSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1687.
FrameBorderSize = 13, - /// ImVec2.
ItemSpacing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1610.
+ /// ImVec2.
ItemSpacing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1688.
ItemSpacing = 14, - /// ImVec2.
ItemInnerSpacing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1611.
+ /// ImVec2.
ItemInnerSpacing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1689.
ItemInnerSpacing = 15, - /// Float.
IndentSpacing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1612.
+ /// Float.
IndentSpacing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1690.
IndentSpacing = 16, - /// ImVec2.
CellPadding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1613.
+ /// ImVec2.
CellPadding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1691.
CellPadding = 17, - /// Float.
ScrollbarSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1614.
+ /// Float.
ScrollbarSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1692.
ScrollbarSize = 18, - /// Float.
ScrollbarRounding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1615.
+ /// Float.
ScrollbarRounding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1693.
ScrollbarRounding = 19, - /// Float.
GrabMinSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1616.
+ /// Float.
GrabMinSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1694.
GrabMinSize = 20, - /// Float.
GrabRounding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1617.
+ /// Float.
GrabRounding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1695.
GrabRounding = 21, - /// Float.
TabRounding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1618.
+ /// Float.
TabRounding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1696.
TabRounding = 22, - /// ImVec2.
ButtonTextAlign.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1619.
+ /// ImVec2.
ButtonTextAlign.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1697.
ButtonTextAlign = 23, - /// ImVec2.
SelectableTextAlign.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1620.
+ /// ImVec2.
SelectableTextAlign.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1698.
SelectableTextAlign = 24, } - /// Flags for InvisibleButton() [extended in imgui_internal.h].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1625.
+ /// Flags for InvisibleButton() [extended in imgui_internal.h].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1703.
// DEBUG: enum ImGuiButtonFlags_ // DEBUG: { // DEBUG: ImGuiButtonFlags_None = 0, @@ -1629,21 +1709,21 @@ public enum ImGuiStyleVar [Flags] public enum ImGuiButtonFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1627.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1705.
None = 0, - /// React on left mouse button (default).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1628.
+ /// React on left mouse button (default).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1706.
MouseButtonLeft = 1, - /// React on right mouse button.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1629.
+ /// React on right mouse button.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1707.
MouseButtonRight = 2, - /// React on center mouse button.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1630.
+ /// React on center mouse button.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1708.
MouseButtonMiddle = 4, - /// [Internal].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1633.
+ /// [Internal].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1711.
MouseButtonMask = 7, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1634. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1712. MouseButtonDefault = 1 } - /// Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1638.
+ /// Flags for ColorEdit3() / ColorEdit4() / ColorPicker3() / ColorPicker4() / ColorButton().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1716.
// DEBUG: enum ImGuiColorEditFlags_ // DEBUG: { // DEBUG: ImGuiColorEditFlags_None = 0, @@ -1689,67 +1769,67 @@ public enum ImGuiButtonFlags [Flags] public enum ImGuiColorEditFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1640.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1718.
None = 0, - /// ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1641.
+ /// ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1719.
NoAlpha = 2, - /// ColorEdit: disable picker when clicking on color square.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1642.
+ /// ColorEdit: disable picker when clicking on color square.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1720.
NoPicker = 4, - /// ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1643.
+ /// ColorEdit: disable toggling options menu when right-clicking on inputs/small preview.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1721.
NoOptions = 8, - /// ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1644.
+ /// ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1722.
NoSmallPreview = 16, - /// ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1645.
+ /// ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1723.
NoInputs = 32, - /// ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1646.
+ /// ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1724.
NoTooltip = 64, - /// ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1647.
+ /// ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1725.
NoLabel = 128, - /// ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1648.
+ /// ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1726.
NoSidePreview = 256, - /// ColorEdit: disable drag and drop target. ColorButton: disable drag and drop source.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1649.
+ /// ColorEdit: disable drag and drop target. ColorButton: disable drag and drop source.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1727.
NoDragDrop = 512, - /// ColorButton: disable border (which is enforced by default).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1650.
+ /// ColorButton: disable border (which is enforced by default).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1728.
NoBorder = 1024, - /// ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1653.
+ /// ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1731.
AlphaBar = 65536, - /// ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1654.
+ /// ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1732.
AlphaPreview = 131072, - /// ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1655.
+ /// ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1733.
AlphaPreviewHalf = 262144, - /// (WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1656.
+ /// (WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1734.
HDR = 524288, - /// [Display].
ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1657.
+ /// [Display].
ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1735.
DisplayRGB = 1048576, - /// [Display].
".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1658.
+ /// [Display].
".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1736.
DisplayHSV = 2097152, - /// [Display].
".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1659.
+ /// [Display].
".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1737.
DisplayHex = 4194304, - /// [DataType].
ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1660.
+ /// [DataType].
ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1738.
Uint8 = 8388608, - /// [DataType].
ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0f..1.0f floats instead of 0..255 integers. No round-trip of value via integers.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1661.
+ /// [DataType].
ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0f..1.0f floats instead of 0..255 integers. No round-trip of value via integers.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1739.
Float = 16777216, - /// [Picker].
ColorPicker: bar for Hue, rectangle for Sat/Value.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1662.
+ /// [Picker].
ColorPicker: bar for Hue, rectangle for Sat/Value.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1740.
PickerHueBar = 33554432, - /// [Picker].
ColorPicker: wheel for Hue, triangle for Sat/Value.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1663.
+ /// [Picker].
ColorPicker: wheel for Hue, triangle for Sat/Value.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1741.
PickerHueWheel = 67108864, - /// [Input].
ColorEdit, ColorPicker: input and output data in RGB format.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1664.
+ /// [Input].
ColorEdit, ColorPicker: input and output data in RGB format.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1742.
InputRGB = 134217728, - /// [Input].
ColorEdit, ColorPicker: input and output data in HSV format.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1665.
+ /// [Input].
ColorEdit, ColorPicker: input and output data in HSV format.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1743.
InputHSV = 268435456, - /// Defaults Options. You can set application defaults using SetColorEditOptions(). The intent is that you probably don't want to.
Override them in most of your calls. Let the user choose via the option menu and/or call SetColorEditOptions() once during startup.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1669.
+ /// Defaults Options. You can set application defaults using SetColorEditOptions(). The intent is that you probably don't want to.
Override them in most of your calls. Let the user choose via the option menu and/or call SetColorEditOptions() once during startup.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1747.
DefaultOptions = 177209344, - /// [Internal] Masks.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1672.
+ /// [Internal] Masks.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1750.
DisplayMask = 7340032, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1673. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1751. DataTypeMask = 25165824, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1674. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1752. PickerMask = 100663296, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1675. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1753. InputMask = 402653184 } - /// Flags for DragFloat(), DragInt(), SliderFloat(), SliderInt() etc.
We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1683.
+ /// Flags for DragFloat(), DragInt(), SliderFloat(), SliderInt() etc.
We use the same sets of flags for DragXXX() and SliderXXX() functions as the features are the same and it makes it easier to swap them.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1761.
// DEBUG: enum ImGuiSliderFlags_ // DEBUG: { // DEBUG: ImGuiSliderFlags_None = 0, @@ -1767,21 +1847,21 @@ public enum ImGuiColorEditFlags [Flags] public enum ImGuiSliderFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1685.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1763.
None = 0, - /// Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1686.
+ /// Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1764.
AlwaysClamp = 16, - /// Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1687.
+ /// Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1765.
Logarithmic = 32, - /// Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1688.
+ /// Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1766.
NoRoundToFormat = 64, - /// Disable CTRL+Click or Enter key allowing to input text directly into the widget.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1689.
+ /// Disable CTRL+Click or Enter key allowing to input text directly into the widget.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1767.
NoInput = 128, - /// [Internal] We treat using those bits as being potentially a 'float power' argument from the previous API that has got miscast to this enum, and will trigger an assert if needed.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1690.
+ /// [Internal] We treat using those bits as being potentially a 'float power' argument from the previous API that has got miscast to this enum, and will trigger an assert if needed.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1768.
InvalidMask = 1879048207 } - /// Identify a mouse button.
Those values are guaranteed to be stable and we frequently use 0/1 directly. Named enums provided for convenience.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1700.
+ /// Identify a mouse button.
Those values are guaranteed to be stable and we frequently use 0/1 directly. Named enums provided for convenience.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1778.
// DEBUG: enum ImGuiMouseButton_ // DEBUG: { // DEBUG: ImGuiMouseButton_Left = 0, @@ -1791,15 +1871,15 @@ public enum ImGuiSliderFlags // DEBUG: } public enum ImGuiMouseButton { - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1702. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1780. Left = 0, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1703. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1781. Right = 1, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1704. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1782. Middle = 2, } - /// Enumeration for GetMouseCursor().
User code may request backend to display given cursor by calling SetMouseCursor(), which is why we have some cursors that are marked unused here.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1710.
+ /// Enumeration for GetMouseCursor().
User code may request backend to display given cursor by calling SetMouseCursor(), which is why we have some cursors that are marked unused here.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1788.
// DEBUG: enum ImGuiMouseCursor_ // DEBUG: { // DEBUG: ImGuiMouseCursor_None = -1, @@ -1816,29 +1896,29 @@ public enum ImGuiMouseButton // DEBUG: } public enum ImGuiMouseCursor { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1712.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1790.
None = -1, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1713. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1791. Arrow = 0, - /// When hovering over InputText, etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1714.
+ /// When hovering over InputText, etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1792.
TextInput = 1, - /// (Unused by Dear ImGui functions).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1715.
+ /// (Unused by Dear ImGui functions).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1793.
ResizeAll = 2, - /// When hovering over an horizontal border.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1716.
+ /// When hovering over an horizontal border.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1794.
ResizeNS = 3, - /// When hovering over a vertical border or a column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1717.
+ /// When hovering over a vertical border or a column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1795.
ResizeEW = 4, - /// When hovering over the bottom-left corner of a window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1718.
+ /// When hovering over the bottom-left corner of a window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1796.
ResizeNESW = 5, - /// When hovering over the bottom-right corner of a window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1719.
+ /// When hovering over the bottom-right corner of a window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1797.
ResizeNWSE = 6, - /// (Unused by Dear ImGui functions. Use for e.g. hyperlinks).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1720.
+ /// (Unused by Dear ImGui functions. Use for e.g. hyperlinks).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1798.
Hand = 7, - /// When hovering something with disallowed interaction. Usually a crossed circle.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1721.
+ /// When hovering something with disallowed interaction. Usually a crossed circle.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1799.
NotAllowed = 8, } - /// Enumeration for ImGui::SetWindow***(), SetNextWindow***(), SetNextItem***() functions.
Represent a condition.
Important: Treat as a regular enum! Do NOT combine multiple values using binary operators! All the functions above treat 0 as a shortcut to ImGuiCond_Always.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1728.
+ /// Enumeration for ImGui::SetWindow***(), SetNextWindow***(), SetNextItem***() functions.
Represent a condition.
Important: Treat as a regular enum! Do NOT combine multiple values using binary operators! All the functions above treat 0 as a shortcut to ImGuiCond_Always.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1806.
// DEBUG: enum ImGuiCond_ // DEBUG: { // DEBUG: ImGuiCond_None = 0, // No condition (always set the variable), same as _Always @@ -1849,19 +1929,19 @@ public enum ImGuiMouseCursor // DEBUG: } public enum ImGuiCond { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1730.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1808.
None = 0, - /// No condition (always set the variable).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1731.
+ /// No condition (always set the variable).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1809.
Always = 1, - /// Set the variable once per runtime session (only the first call will succeed).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1732.
+ /// Set the variable once per runtime session (only the first call will succeed).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1810.
Once = 2, - /// Set the variable if the object/window has no persistently saved data (no entry in .ini file).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1733.
+ /// Set the variable if the object/window has no persistently saved data (no entry in .ini file).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1811.
FirstUseEver = 4, - /// Set the variable if the object/window is appearing after being hidden/inactive (or the first time).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1734.
+ /// Set the variable if the object/window is appearing after being hidden/inactive (or the first time).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1812.
Appearing = 8 } - /// Flags for ImDrawList functions.
(Legacy: bit 0 must always correspond to ImDrawFlags_Closed to be backward compatible with old API using a bool. Bits 1..3 must be unused).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2467.
+ /// Flags for ImDrawList functions.
(Legacy: bit 0 must always correspond to ImDrawFlags_Closed to be backward compatible with old API using a bool. Bits 1..3 must be unused).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2581.
// DEBUG: enum ImDrawFlags_ // DEBUG: { // DEBUG: ImDrawFlags_None = 0, @@ -1882,37 +1962,37 @@ public enum ImGuiCond [Flags] public enum ImDrawFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2469.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2583.
None = 0, - /// PathStroke(), AddPolyline(): specify that shape should be closed (Important: this is always == 1 for legacy reason).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2470.
+ /// PathStroke(), AddPolyline(): specify that shape should be closed (Important: this is always == 1 for legacy reason).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2584.
Closed = 1, - /// AddRect(), AddRectFilled(), PathRect(): enable rounding top-left corner only (when rounding > 0.0f, we default to all corners). Was 0x01.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2471.
+ /// AddRect(), AddRectFilled(), PathRect(): enable rounding top-left corner only (when rounding > 0.0f, we default to all corners). Was 0x01.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2585.
RoundCornersTopLeft = 16, - /// AddRect(), AddRectFilled(), PathRect(): enable rounding top-right corner only (when rounding > 0.0f, we default to all corners). Was 0x02.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2472.
+ /// AddRect(), AddRectFilled(), PathRect(): enable rounding top-right corner only (when rounding > 0.0f, we default to all corners). Was 0x02.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2586.
RoundCornersTopRight = 32, - /// AddRect(), AddRectFilled(), PathRect(): enable rounding bottom-left corner only (when rounding > 0.0f, we default to all corners). Was 0x04.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2473.
+ /// AddRect(), AddRectFilled(), PathRect(): enable rounding bottom-left corner only (when rounding > 0.0f, we default to all corners). Was 0x04.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2587.
RoundCornersBottomLeft = 64, - /// AddRect(), AddRectFilled(), PathRect(): enable rounding bottom-right corner only (when rounding > 0.0f, we default to all corners). Wax 0x08.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2474.
+ /// AddRect(), AddRectFilled(), PathRect(): enable rounding bottom-right corner only (when rounding > 0.0f, we default to all corners). Wax 0x08.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2588.
RoundCornersBottomRight = 128, - /// AddRect(), AddRectFilled(), PathRect(): disable rounding on all corners (when rounding > 0.0f). This is NOT zero, NOT an implicit flag!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2475.
+ /// AddRect(), AddRectFilled(), PathRect(): disable rounding on all corners (when rounding > 0.0f). This is NOT zero, NOT an implicit flag!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2589.
RoundCornersNone = 256, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2476. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2590. RoundCornersTop = 48, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2477. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2591. RoundCornersBottom = 192, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2478. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2592. RoundCornersLeft = 80, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2479. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2593. RoundCornersRight = 160, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2480. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2594. RoundCornersAll = 240, - /// Default to ALL corners if none of the _RoundCornersXX flags are specified.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2481.
+ /// Default to ALL corners if none of the _RoundCornersXX flags are specified.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2595.
RoundCornersDefault = 240, - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2482. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2596. RoundCornersMask = 496 } - /// Flags for ImDrawList instance. Those are set automatically by ImGui:: functions from ImGuiIO settings, and generally not manipulated directly.
It is however possible to temporarily alter flags between calls to ImDrawList:: functions.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2487.
+ /// Flags for ImDrawList instance. Those are set automatically by ImGui:: functions from ImGuiIO settings, and generally not manipulated directly.
It is however possible to temporarily alter flags between calls to ImDrawList:: functions.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2601.
// DEBUG: enum ImDrawListFlags_ // DEBUG: { // DEBUG: ImDrawListFlags_None = 0, @@ -1924,19 +2004,19 @@ public enum ImDrawFlags [Flags] public enum ImDrawListFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2489.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2603.
None = 0, - /// Enable anti-aliased lines/borders (*2 the number of triangles for 1.0f wide line or lines thin enough to be drawn using textures, otherwise *3 the number of triangles).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2490.
+ /// Enable anti-aliased lines/borders (*2 the number of triangles for 1.0f wide line or lines thin enough to be drawn using textures, otherwise *3 the number of triangles).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2604.
AntiAliasedLines = 1, - /// Enable anti-aliased lines/borders using textures when possible. Require backend to render with bilinear filtering (NOT point/nearest filtering).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2491.
+ /// Enable anti-aliased lines/borders using textures when possible. Require backend to render with bilinear filtering (NOT point/nearest filtering).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2605.
AntiAliasedLinesUseTex = 2, - /// Enable anti-aliased edge around filled shapes (rounded rectangles, circles).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2492.
+ /// Enable anti-aliased edge around filled shapes (rounded rectangles, circles).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2606.
AntiAliasedFill = 4, - /// Can emit 'VtxOffset > 0' to allow large meshes. Set when 'ImGuiBackendFlags_RendererHasVtxOffset' is enabled.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2493.
+ /// Can emit 'VtxOffset > 0' to allow large meshes. Set when 'ImGuiBackendFlags_RendererHasVtxOffset' is enabled.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2607.
AllowVtxOffset = 8 } - /// Flags for ImFontAtlas build.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2724.
+ /// Flags for ImFontAtlas build.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2839.
// DEBUG: enum ImFontAtlasFlags_ // DEBUG: { // DEBUG: ImFontAtlasFlags_None = 0, @@ -1947,35 +2027,65 @@ public enum ImDrawListFlags [Flags] public enum ImFontAtlasFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2726.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2841.
None = 0, - /// Don't round the height to next power of two.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2727.
+ /// Don't round the height to next power of two.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2842.
NoPowerOfTwoHeight = 1, - /// Don't build software mouse cursors into the atlas (save a little texture memory).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2728.
+ /// Don't build software mouse cursors into the atlas (save a little texture memory).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2843.
NoMouseCursors = 2, - /// Don't build thick line textures into the atlas (save a little texture memory, allow support for point/nearest filtering). The AntiAliasedLinesUseTex features uses them, otherwise they will be rendered using polygons (more expensive for CPU/GPU).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2729.
+ /// Don't build thick line textures into the atlas (save a little texture memory, allow support for point/nearest filtering). The AntiAliasedLinesUseTex features uses them, otherwise they will be rendered using polygons (more expensive for CPU/GPU).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2844.
NoBakedLines = 4 } - /// Flags stored in ImGuiViewport::Flags, giving indications to the platform backends.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2906.
+ /// Flags stored in ImGuiViewport::Flags, giving indications to the platform backends.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3021.
// DEBUG: enum ImGuiViewportFlags_ // DEBUG: { // DEBUG: ImGuiViewportFlags_None = 0, // DEBUG: ImGuiViewportFlags_IsPlatformWindow = 1 << 0, // Represent a Platform Window // DEBUG: ImGuiViewportFlags_IsPlatformMonitor = 1 << 1, // Represent a Platform Monitor (unused yet) - // DEBUG: ImGuiViewportFlags_OwnedByApp = 1 << 2 // Platform Window: is created/managed by the application (rather than a dear imgui backend) + // DEBUG: ImGuiViewportFlags_OwnedByApp = 1 << 2, // Platform Window: is created/managed by the application (rather than a dear imgui backend) + // DEBUG: ImGuiViewportFlags_NoDecoration = 1 << 3, // Platform Window: Disable platform decorations: title bar, borders, etc. (generally set all windows, but if ImGuiConfigFlags_ViewportsDecoration is set we only set this on popups/tooltips) + // DEBUG: ImGuiViewportFlags_NoTaskBarIcon = 1 << 4, // Platform Window: Disable platform task bar icon (generally set on popups/tooltips, or all windows if ImGuiConfigFlags_ViewportsNoTaskBarIcon is set) + // DEBUG: ImGuiViewportFlags_NoFocusOnAppearing = 1 << 5, // Platform Window: Don't take focus when created. + // DEBUG: ImGuiViewportFlags_NoFocusOnClick = 1 << 6, // Platform Window: Don't take focus when clicked on. + // DEBUG: ImGuiViewportFlags_NoInputs = 1 << 7, // Platform Window: Make mouse pass through so we can drag this window while peaking behind it. + // DEBUG: ImGuiViewportFlags_NoRendererClear = 1 << 8, // Platform Window: Renderer doesn't need to clear the framebuffer ahead (because we will fill it entirely). + // DEBUG: ImGuiViewportFlags_TopMost = 1 << 9, // Platform Window: Display on top (for tooltips only). + // DEBUG: ImGuiViewportFlags_Minimized = 1 << 10, // Platform Window: Window is minimized, can skip render. When minimized we tend to avoid using the viewport pos/size for clipping window or testing if they are contained in the viewport. + // DEBUG: ImGuiViewportFlags_NoAutoMerge = 1 << 11, // Platform Window: Avoid merging this window into another host window. This can only be set via ImGuiWindowClass viewport flags override (because we need to now ahead if we are going to create a viewport in the first place!). + // DEBUG: ImGuiViewportFlags_CanHostOtherWindows = 1 << 12 // Main viewport: can host multiple imgui windows (secondary viewports are associated to a single window). // DEBUG: } [Flags] public enum ImGuiViewportFlags { - /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2908.
+ /// Use the default behavior.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3023.
None = 0, - /// Represent a Platform Window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2909.
+ /// Represent a Platform Window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3024.
IsPlatformWindow = 1, - /// Represent a Platform Monitor (unused yet).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2910.
+ /// Represent a Platform Monitor (unused yet).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3025.
IsPlatformMonitor = 2, - /// Platform Window: is created/managed by the application (rather than a dear imgui backend).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2911.
- OwnedByApp = 4 + /// Platform Window: is created/managed by the application (rather than a dear imgui backend).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3026.
+ OwnedByApp = 4, + /// Platform Window: Disable platform decorations: title bar, borders, etc. (generally set all windows, but if ImGuiConfigFlags_ViewportsDecoration is set we only set this on popups/tooltips).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3027.
+ NoDecoration = 8, + /// Platform Window: Disable platform task bar icon (generally set on popups/tooltips, or all windows if ImGuiConfigFlags_ViewportsNoTaskBarIcon is set).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3028.
+ NoTaskBarIcon = 16, + /// Platform Window: Don't take focus when created.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3029.
+ NoFocusOnAppearing = 32, + /// Platform Window: Don't take focus when clicked on.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3030.
+ NoFocusOnClick = 64, + /// Platform Window: Make mouse pass through so we can drag this window while peaking behind it.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3031.
+ NoInputs = 128, + /// Platform Window: Renderer doesn't need to clear the framebuffer ahead (because we will fill it entirely).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3032.
+ NoRendererClear = 256, + /// Platform Window: Display on top (for tooltips only).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3033.
+ TopMost = 512, + /// Platform Window: Window is minimized, can skip render. When minimized we tend to avoid using the viewport pos/size for clipping window or testing if they are contained in the viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3034.
+ Minimized = 1024, + /// Platform Window: Avoid merging this window into another host window. This can only be set via ImGuiWindowClass viewport flags override (because we need to now ahead if we are going to create a viewport in the first place!).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3035.
+ NoAutoMerge = 2048, + /// Main viewport: can host multiple imgui windows (secondary viewports are associated to a single window).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3036.
+ CanHostOtherWindows = 4096 } // DEBUG: typedef void* ImTextureID @@ -1988,22 +2098,25 @@ public enum ImGuiViewportFlags // DEBUG: typedef int ImFontAtlasFlags // DEBUG: typedef int ImGuiMouseCursor // DEBUG: typedef unsigned char ImU8 - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2386. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2500. // DEBUG: typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd) [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] public unsafe delegate void ImDrawCallback(IntPtr parent_list, IntPtr cmd); + // DEBUG: typedef unsigned int ImGuiID + // DEBUG: typedef int ImGuiViewportFlags // DEBUG: typedef int ImGuiConfigFlags // DEBUG: typedef int ImGuiBackendFlags - // DEBUG: typedef int ImGuiViewportFlags // DEBUG: typedef int ImGuiModFlags // DEBUG: typedef unsigned short ImU16 // DEBUG: typedef signed char ImS8 // DEBUG: typedef int ImGuiKey // DEBUG: typedef int ImGuiInputTextFlags - // DEBUG: typedef unsigned int ImGuiID + // DEBUG: typedef unsigned long long ImU64 // DEBUG: typedef int ImGuiDir // DEBUG: typedef signed short ImS16 // DEBUG: typedef int ImGuiSortDirection + // DEBUG: typedef int ImGuiTabItemFlags + // DEBUG: typedef int ImGuiDockNodeFlags // DEBUG: typedef int ImGuiCol // DEBUG: typedef int ImGuiCond // DEBUG: typedef int ImGuiDataType @@ -2021,7 +2134,6 @@ public enum ImGuiViewportFlags // DEBUG: typedef int ImGuiSelectableFlags // DEBUG: typedef int ImGuiSliderFlags // DEBUG: typedef int ImGuiTabBarFlags - // DEBUG: typedef int ImGuiTabItemFlags // DEBUG: typedef int ImGuiTableFlags // DEBUG: typedef int ImGuiTableColumnFlags // DEBUG: typedef int ImGuiTableRowFlags @@ -2029,24 +2141,23 @@ public enum ImGuiViewportFlags // DEBUG: typedef int ImGuiWindowFlags // DEBUG: typedef signed int ImS32 // DEBUG: typedef signed long long ImS64 - // DEBUG: typedef unsigned long long ImU64 // DEBUG: typedef unsigned int ImWchar32 - /// Callback function for ImGui::InputText().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L241.
+ /// Callback function for ImGui::InputText().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L247.
// DEBUG: typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data) [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] public unsafe delegate int ImGuiInputTextCallback(IntPtr data); - /// Callback function for ImGui::SetNextWindowSizeConstraints().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L242.
+ /// Callback function for ImGui::SetNextWindowSizeConstraints().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L248.
// DEBUG: typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data) [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] public unsafe delegate void ImGuiSizeCallback(IntPtr data); - /// Function signature for ImGui::SetAllocatorFunctions().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L243.
+ /// Function signature for ImGui::SetAllocatorFunctions().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L249.
// DEBUG: typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data) [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] public unsafe delegate IntPtr ImGuiMemAllocFunc(UIntPtr sz, IntPtr user_data); - /// Function signature for ImGui::SetAllocatorFunctions().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L244.
+ /// Function signature for ImGui::SetAllocatorFunctions().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L250.
// DEBUG: typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data) [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] public unsafe delegate void ImGuiMemFreeFunc(IntPtr ptr, IntPtr user_data); @@ -2060,6 +2171,28 @@ public enum ImGuiViewportFlags [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] public unsafe delegate void ImSetPlatformImeDataHandler(IntPtr viewport, IntPtr data); + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate void Action_IntPtr(IntPtr vp); + + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate void Action_IntPtr_Numerics_Vector2(IntPtr vp, Vector2 pos); + + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate Vector2 Func_Numerics_Vector2_IntPtr(IntPtr vp); + + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + public unsafe delegate bool Func_bool_IntPtr(IntPtr vp); + + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate void Action_IntPtr_float(IntPtr vp, float alpha); + + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate float Func_float_IntPtr(IntPtr vp); + + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate int Func_int_IntPtr_ulong_IntPtr_ulongPtr(IntPtr vp, ulong vk_inst, IntPtr vk_allocators, ulong* out_vk_surface); + [SuppressUnmanagedCodeSecurity, UnmanagedFunctionPointer(CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] public unsafe delegate bool ImItemsGetterHandler(IntPtr data, int idx, sbyte** out_text); @@ -2078,7 +2211,7 @@ internal unsafe partial struct __Internal } } - /// Data shared among multiple draw lists (typically owned by parent ImGui context, but you may create one yourself).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L138.
+ /// Data shared among multiple draw lists (typically owned by parent ImGui context, but you may create one yourself).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L140.
// DEBUG: struct ImDrawListSharedData public unsafe partial class ImDrawListSharedData { @@ -2103,6 +2236,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImDrawLis private protected bool __ownsNativeInstance; internal static ImDrawListSharedData __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImDrawListSharedData(native.ToPointer(), skipVTables); } @@ -2144,7 +2279,7 @@ private protected ImDrawListSharedData(void* native, bool skipVTables = false) } } - /// Opaque interface to a font builder (stb_truetype or FreeType).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L143.
+ /// Opaque interface to a font builder (stb_truetype or FreeType).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L145.
// DEBUG: struct ImFontBuilderIO public unsafe partial class ImFontBuilderIO { @@ -2169,6 +2304,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImFontBui private protected bool __ownsNativeInstance; internal static ImFontBuilderIO __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImFontBuilderIO(native.ToPointer(), skipVTables); } @@ -2210,7 +2347,7 @@ private protected ImFontBuilderIO(void* native, bool skipVTables = false) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1840. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1918. // DEBUG: struct ImGuiStyle // DEBUG: { // DEBUG: float Alpha; // Global alpha applies to everything in Dear ImGui. @@ -2247,7 +2384,7 @@ private protected ImFontBuilderIO(void* native, bool skipVTables = false) // DEBUG: ImVec2 SelectableTextAlign; // Alignment of selectable text. Defaults to (0.0f, 0.0f) (top-left aligned). It's generally important to keep this left-aligned if you want to lay multiple items on a same line. // DEBUG: ImVec2 DisplayWindowPadding; // Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows. // DEBUG: ImVec2 DisplaySafeAreaPadding; // If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding. Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly! - // DEBUG: float MouseCursorScale; // Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later. + // DEBUG: float MouseCursorScale; // Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). We apply per-monitor DPI scaling over this scale. May be removed later. // DEBUG: bool AntiAliasedLines; // Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList). // DEBUG: bool AntiAliasedLinesUseTex; // Enable anti-aliased lines/borders using textures where possible. Require backend to render with bilinear filtering (NOT point/nearest filtering). Latched at the beginning of the frame (copied to ImDrawList). // DEBUG: bool AntiAliasedFill; // Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList). @@ -2303,7 +2440,7 @@ internal partial struct __Internal internal byte AntiAliasedFill; internal float CurveTessellationTol; internal float CircleTessellationMaxError; - internal fixed byte Colors[848]; + internal fixed byte Colors[880]; } private partial struct __Internal32 @@ -2349,6 +2486,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiStyl private protected bool __ownsNativeInstance; internal static ImGuiStyle __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiStyle(native.ToPointer(), skipVTables); } @@ -2389,7 +2528,7 @@ private protected ImGuiStyle(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1884. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1962. // DEBUG: ImGuiStyle() public ImGuiStyle() { @@ -2406,7 +2545,7 @@ public ImGuiStyle() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1840. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1918. // DEBUG: ImGuiStyle public ImGuiStyle(ImGuiStyle _0) { @@ -2451,7 +2590,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1885. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1963. // DEBUG: void ScaleAllSizes(float scale_factor) public void ScaleAllSizes(float scale_factor) { @@ -2465,7 +2604,7 @@ public void ScaleAllSizes(float scale_factor) } } - /// Global alpha applies to everything in Dear ImGui.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1842.
+ /// Global alpha applies to everything in Dear ImGui.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1920.
public float Alpha { get @@ -2479,7 +2618,7 @@ public float Alpha } } - /// Additional alpha multiplier applied by BeginDisabled(). Multiply over current value of Alpha.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1843.
+ /// Additional alpha multiplier applied by BeginDisabled(). Multiply over current value of Alpha.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1921.
public float DisabledAlpha { get @@ -2493,7 +2632,7 @@ public float DisabledAlpha } } - /// Padding within a window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1844.
+ /// Padding within a window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1922.
public Vector2 WindowPadding { get @@ -2513,7 +2652,7 @@ public Vector2 WindowPadding } } - /// Radius of window corners rounding. Set to 0.0f to have rectangular windows. Large values tend to lead to variety of artifacts and are not recommended.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1845.
+ /// Radius of window corners rounding. Set to 0.0f to have rectangular windows. Large values tend to lead to variety of artifacts and are not recommended.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1923.
public float WindowRounding { get @@ -2527,7 +2666,7 @@ public float WindowRounding } } - /// Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1846.
+ /// Thickness of border around windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1924.
public float WindowBorderSize { get @@ -2541,7 +2680,7 @@ public float WindowBorderSize } } - /// Minimum window size. This is a global setting. If you want to constraint individual windows, use SetNextWindowSizeConstraints().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1847.
+ /// Minimum window size. This is a global setting. If you want to constraint individual windows, use SetNextWindowSizeConstraints().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1925.
public Vector2 WindowMinSize { get @@ -2561,7 +2700,7 @@ public Vector2 WindowMinSize } } - /// Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1848.
+ /// Alignment for title bar text. Defaults to (0.0f,0.5f) for left-aligned,vertically centered.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1926.
public Vector2 WindowTitleAlign { get @@ -2581,7 +2720,7 @@ public Vector2 WindowTitleAlign } } - /// Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to ImGuiDir_Left.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1849.
+ /// Side of the collapsing/docking button in the title bar (None/Left/Right). Defaults to ImGuiDir_Left.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1927.
public ImGuiDir WindowMenuButtonPosition { get @@ -2595,7 +2734,7 @@ public ImGuiDir WindowMenuButtonPosition } } - /// Radius of child window corners rounding. Set to 0.0f to have rectangular windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1850.
+ /// Radius of child window corners rounding. Set to 0.0f to have rectangular windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1928.
public float ChildRounding { get @@ -2609,7 +2748,7 @@ public float ChildRounding } } - /// Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1851.
+ /// Thickness of border around child windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1929.
public float ChildBorderSize { get @@ -2623,7 +2762,7 @@ public float ChildBorderSize } } - /// Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1852.
+ /// Radius of popup window corners rounding. (Note that tooltip windows use WindowRounding).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1930.
public float PopupRounding { get @@ -2637,7 +2776,7 @@ public float PopupRounding } } - /// Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1853.
+ /// Thickness of border around popup/tooltip windows. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1931.
public float PopupBorderSize { get @@ -2651,7 +2790,7 @@ public float PopupBorderSize } } - /// Padding within a framed rectangle (used by most widgets).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1854.
+ /// Padding within a framed rectangle (used by most widgets).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1932.
public Vector2 FramePadding { get @@ -2671,7 +2810,7 @@ public Vector2 FramePadding } } - /// Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1855.
+ /// Radius of frame corners rounding. Set to 0.0f to have rectangular frame (used by most widgets).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1933.
public float FrameRounding { get @@ -2685,7 +2824,7 @@ public float FrameRounding } } - /// Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1856.
+ /// Thickness of border around frames. Generally set to 0.0f or 1.0f. (Other values are not well tested and more CPU/GPU costly).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1934.
public float FrameBorderSize { get @@ -2699,7 +2838,7 @@ public float FrameBorderSize } } - /// Horizontal and vertical spacing between widgets/lines.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1857.
+ /// Horizontal and vertical spacing between widgets/lines.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1935.
public Vector2 ItemSpacing { get @@ -2719,7 +2858,7 @@ public Vector2 ItemSpacing } } - /// Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1858.
+ /// Horizontal and vertical spacing between within elements of a composed widget (e.g. a slider and its label).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1936.
public Vector2 ItemInnerSpacing { get @@ -2739,7 +2878,7 @@ public Vector2 ItemInnerSpacing } } - /// Padding within a table cell.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1859.
+ /// Padding within a table cell.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1937.
public Vector2 CellPadding { get @@ -2759,7 +2898,7 @@ public Vector2 CellPadding } } - /// Expand reactive bounding box for touch-based system where touch position is not accurate enough. Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1860.
+ /// Expand reactive bounding box for touch-based system where touch position is not accurate enough. Unfortunately we don't sort widgets so priority on overlap will always be given to the first widget. So don't grow this too much!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1938.
public Vector2 TouchExtraPadding { get @@ -2779,7 +2918,7 @@ public Vector2 TouchExtraPadding } } - /// Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1861.
+ /// Horizontal indentation when e.g. entering a tree node. Generally == (FontSize + FramePadding.x*2).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1939.
public float IndentSpacing { get @@ -2793,7 +2932,7 @@ public float IndentSpacing } } - /// Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1862.
+ /// Minimum horizontal spacing between two columns. Preferably > (FramePadding.x + 1).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1940.
public float ColumnsMinSpacing { get @@ -2807,7 +2946,7 @@ public float ColumnsMinSpacing } } - /// Width of the vertical scrollbar, Height of the horizontal scrollbar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1863.
+ /// Width of the vertical scrollbar, Height of the horizontal scrollbar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1941.
public float ScrollbarSize { get @@ -2821,7 +2960,7 @@ public float ScrollbarSize } } - /// Radius of grab corners for scrollbar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1864.
+ /// Radius of grab corners for scrollbar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1942.
public float ScrollbarRounding { get @@ -2835,7 +2974,7 @@ public float ScrollbarRounding } } - /// Minimum width/height of a grab box for slider/scrollbar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1865.
+ /// Minimum width/height of a grab box for slider/scrollbar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1943.
public float GrabMinSize { get @@ -2849,7 +2988,7 @@ public float GrabMinSize } } - /// Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1866.
+ /// Radius of grabs corners rounding. Set to 0.0f to have rectangular slider grabs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1944.
public float GrabRounding { get @@ -2863,7 +3002,7 @@ public float GrabRounding } } - /// The size in pixels of the dead-zone around zero on logarithmic sliders that cross zero.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1867.
+ /// The size in pixels of the dead-zone around zero on logarithmic sliders that cross zero.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1945.
public float LogSliderDeadzone { get @@ -2877,7 +3016,7 @@ public float LogSliderDeadzone } } - /// Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1868.
+ /// Radius of upper corners of a tab. Set to 0.0f to have rectangular tabs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1946.
public float TabRounding { get @@ -2891,7 +3030,7 @@ public float TabRounding } } - /// Thickness of border around tabs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1869.
+ /// Thickness of border around tabs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1947.
public float TabBorderSize { get @@ -2905,7 +3044,7 @@ public float TabBorderSize } } - /// Minimum width for close button to appears on an unselected tab when hovered. Set to 0.0f to always show when hovering, set to FLT_MAX to never show close button unless selected.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1870.
+ /// Minimum width for close button to appears on an unselected tab when hovered. Set to 0.0f to always show when hovering, set to FLT_MAX to never show close button unless selected.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1948.
public float TabMinWidthForCloseButton { get @@ -2919,7 +3058,7 @@ public float TabMinWidthForCloseButton } } - /// Side of the color button in the ColorEdit4 widget (left/right). Defaults to ImGuiDir_Right.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1871.
+ /// Side of the color button in the ColorEdit4 widget (left/right). Defaults to ImGuiDir_Right.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1949.
public ImGuiDir ColorButtonPosition { get @@ -2933,7 +3072,7 @@ public ImGuiDir ColorButtonPosition } } - /// Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1872.
+ /// Alignment of button text when button is larger than text. Defaults to (0.5f, 0.5f) (centered).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1950.
public Vector2 ButtonTextAlign { get @@ -2953,7 +3092,7 @@ public Vector2 ButtonTextAlign } } - /// Alignment of selectable text. Defaults to (0.0f, 0.0f) (top-left aligned). It's generally important to keep this left-aligned if you want to lay multiple items on a same line.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1873.
+ /// Alignment of selectable text. Defaults to (0.0f, 0.0f) (top-left aligned). It's generally important to keep this left-aligned if you want to lay multiple items on a same line.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1951.
public Vector2 SelectableTextAlign { get @@ -2973,7 +3112,7 @@ public Vector2 SelectableTextAlign } } - /// Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1874.
+ /// Window position are clamped to be visible within the display area or monitors by at least this amount. Only applies to regular windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1952.
public Vector2 DisplayWindowPadding { get @@ -2993,7 +3132,7 @@ public Vector2 DisplayWindowPadding } } - /// If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding. Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1875.
+ /// If you cannot see the edges of your screen (e.g. on a TV) increase the safe area padding. Apply to popups/tooltips as well regular windows. NB: Prefer configuring your TV sets correctly!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1953.
public Vector2 DisplaySafeAreaPadding { get @@ -3013,7 +3152,7 @@ public Vector2 DisplaySafeAreaPadding } } - /// Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). May be removed later.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1876.
+ /// Scale software rendered mouse cursor (when io.MouseDrawCursor is enabled). We apply per-monitor DPI scaling over this scale. May be removed later.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1954.
public float MouseCursorScale { get @@ -3027,7 +3166,7 @@ public float MouseCursorScale } } - /// Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1877.
+ /// Enable anti-aliased lines/borders. Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1955.
public bool AntiAliasedLines { get @@ -3041,7 +3180,7 @@ public bool AntiAliasedLines } } - /// Enable anti-aliased lines/borders using textures where possible. Require backend to render with bilinear filtering (NOT point/nearest filtering). Latched at the beginning of the frame (copied to ImDrawList).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1878.
+ /// Enable anti-aliased lines/borders using textures where possible. Require backend to render with bilinear filtering (NOT point/nearest filtering). Latched at the beginning of the frame (copied to ImDrawList).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1956.
public bool AntiAliasedLinesUseTex { get @@ -3055,7 +3194,7 @@ public bool AntiAliasedLinesUseTex } } - /// Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1879.
+ /// Enable anti-aliased edges around filled shapes (rounded rectangles, circles, etc.). Disable if you are really tight on CPU/GPU. Latched at the beginning of the frame (copied to ImDrawList).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1957.
public bool AntiAliasedFill { get @@ -3069,7 +3208,7 @@ public bool AntiAliasedFill } } - /// Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1880.
+ /// Tessellation tolerance when using PathBezierCurveTo() without a specific number of segments. Decrease for highly tessellated curves (higher quality, more polygons), increase to reduce quality.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1958.
public float CurveTessellationTol { get @@ -3083,7 +3222,7 @@ public float CurveTessellationTol } } - /// Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1881.
+ /// Maximum error (in pixels) allowed when using AddCircle()/AddCircleFilled() or drawing rounded corner rectangles with no explicit segment count specified. Decrease for higher quality but more geometry.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1959.
public float CircleTessellationMaxError { get @@ -3098,7 +3237,7 @@ public float CircleTessellationMaxError } } - /// [Internal] Storage used by IsKeyDown(), IsKeyPressed() etc functions.
If prior to 1.87 you used io.KeysDownDuration[] (which was marked as internal), you should use GetKeyData(key)->DownDuration and not io.KeysData[key]->DownDuration.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1897.
+ /// [Internal] Storage used by IsKeyDown(), IsKeyPressed() etc functions.
If prior to 1.87 you used io.KeysDownDuration[] (which was marked as internal), you should use GetKeyData(key)->DownDuration and not io.KeysData[key]->DownDuration.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1975.
// DEBUG: struct ImGuiKeyData // DEBUG: { // DEBUG: bool Down; // True for if key is down @@ -3148,6 +3287,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiKeyD private protected bool __ownsNativeInstance; internal static ImGuiKeyData __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiKeyData(native.ToPointer(), skipVTables); } @@ -3188,7 +3329,7 @@ private protected ImGuiKeyData(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// [Internal] Storage used by IsKeyDown(), IsKeyPressed() etc functions.
If prior to 1.87 you used io.KeysDownDuration[] (which was marked as internal), you should use GetKeyData(key)->DownDuration and not io.KeysData[key]->DownDuration.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1897.
+ /// [Internal] Storage used by IsKeyDown(), IsKeyPressed() etc functions.
If prior to 1.87 you used io.KeysDownDuration[] (which was marked as internal), you should use GetKeyData(key)->DownDuration and not io.KeysData[key]->DownDuration.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1975.
// DEBUG: ImGuiKeyData public ImGuiKeyData(ImGuiKeyData _0) { @@ -3208,7 +3349,7 @@ public ImGuiKeyData(ImGuiKeyData _0) } } - /// [Internal] Storage used by IsKeyDown(), IsKeyPressed() etc functions.
If prior to 1.87 you used io.KeysDownDuration[] (which was marked as internal), you should use GetKeyData(key)->DownDuration and not io.KeysData[key]->DownDuration.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1897.
+ /// [Internal] Storage used by IsKeyDown(), IsKeyPressed() etc functions.
If prior to 1.87 you used io.KeysDownDuration[] (which was marked as internal), you should use GetKeyData(key)->DownDuration and not io.KeysData[key]->DownDuration.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1975.
// DEBUG: ImGuiKeyData public ImGuiKeyData() { @@ -3242,7 +3383,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// True for if key is down.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1899.
+ /// True for if key is down.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1977.
public bool Down { get @@ -3256,7 +3397,7 @@ public bool Down } } - /// Duration the key has been down (<0.0f: not pressed, 0.0f: just pressed, >0.0f: time held).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1900.
+ /// Duration the key has been down (<0.0f: not pressed, 0.0f: just pressed, >0.0f: time held).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1978.
public float DownDuration { get @@ -3270,7 +3411,7 @@ public float DownDuration } } - /// Last frame duration the key has been down.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1901.
+ /// Last frame duration the key has been down.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1979.
public float DownDurationPrev { get @@ -3284,7 +3425,7 @@ public float DownDurationPrev } } - /// 0.0f..1.0f for gamepad values.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1902.
+ /// 0.0f..1.0f for gamepad values.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1980.
public float AnalogValue { get @@ -3299,7 +3440,7 @@ public float AnalogValue } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1905. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1983. // DEBUG: struct ImGuiIO // DEBUG: { // DEBUG: //------------------------------------------------------------------ @@ -3326,6 +3467,18 @@ public float AnalogValue // DEBUG: ImFont* FontDefault; // = NULL // Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0]. // DEBUG: ImVec2 DisplayFramebufferScale; // = (1, 1) // For retina display or other situations where window coordinates are different from framebuffer coordinates. This generally ends up in ImDrawData::FramebufferScale. // DEBUG: + // DEBUG: // Docking options (when ImGuiConfigFlags_DockingEnable is set) + // DEBUG: bool ConfigDockingNoSplit; // = false // Simplified docking mode: disable window splitting, so docking is limited to merging multiple windows together into tab-bars. + // DEBUG: bool ConfigDockingWithShift; // = false // Enable docking with holding Shift key (reduce visual noise, allows dropping in wider space) + // DEBUG: bool ConfigDockingAlwaysTabBar; // = false // [BETA] [FIXME: This currently creates regression with auto-sizing and general overhead] Make every single floating window display within a docking node. + // DEBUG: bool ConfigDockingTransparentPayload;// = false // [BETA] Make window or viewport transparent when docking and only display docking boxes on the target viewport. Useful if rendering of multiple viewport cannot be synced. Best used with ConfigViewportsNoAutoMerge. + // DEBUG: + // DEBUG: // Viewport options (when ImGuiConfigFlags_ViewportsEnable is set) + // DEBUG: bool ConfigViewportsNoAutoMerge; // = false; // Set to make all floating imgui windows always create their own viewport. Otherwise, they are merged into the main host viewports when overlapping it. May also set ImGuiViewportFlags_NoAutoMerge on individual viewport. + // DEBUG: bool ConfigViewportsNoTaskBarIcon; // = false // Disable default OS task bar icon flag for secondary viewports. When a viewport doesn't want a task bar icon, ImGuiViewportFlags_NoTaskBarIcon will be set on it. + // DEBUG: bool ConfigViewportsNoDecoration; // = true // Disable default OS window decoration flag for secondary viewports. When a viewport doesn't want window decorations, ImGuiViewportFlags_NoDecoration will be set on it. Enabling decoration can create subsequent issues at OS levels (e.g. minimum window size). + // DEBUG: bool ConfigViewportsNoDefaultParent; // = false // Disable default OS parenting to main viewport for secondary viewports. By default, viewports are marked with ParentViewportId = , expecting the platform backend to setup a parent/child relationship between the OS windows (some backend may ignore this). Set to true if you want the default to be 0, then all viewports will be top-level OS windows. + // DEBUG: // DEBUG: // Miscellaneous options // DEBUG: bool MouseDrawCursor; // = false // Request ImGui to draw a mouse cursor for you (if you are on a platform without a mouse cursor). Cannot be easily renamed to 'io.ConfigXXX' because this is frequently used by backend implementations. // DEBUG: bool ConfigMacOSXBehaviors; // = defined(__APPLE__) // OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl. @@ -3373,6 +3526,7 @@ public float AnalogValue // DEBUG: IMGUI_API void AddMousePosEvent(float x, float y); // Queue a mouse position update. Use -FLT_MAX,-FLT_MAX to signify no mouse (e.g. app not focused and not hovered) // DEBUG: IMGUI_API void AddMouseButtonEvent(int button, bool down); // Queue a mouse button change // DEBUG: IMGUI_API void AddMouseWheelEvent(float wh_x, float wh_y); // Queue a mouse wheel update + // DEBUG: IMGUI_API void AddMouseViewportEvent(ImGuiID id); // Queue a mouse hovered viewport. Requires backend to set ImGuiBackendFlags_HasMouseHoveredViewport to call this (for multi-viewport support). // DEBUG: IMGUI_API void AddFocusEvent(bool focused); // Queue a gain/loss of focus for the application (generally based on OS/platform focus of your window) // DEBUG: IMGUI_API void AddInputCharacter(unsigned int c); // Queue a new character input // DEBUG: IMGUI_API void AddInputCharacterUTF16(ImWchar16 c); // Queue a new character input from an UTF-16 character, it can be a surrogate @@ -3422,6 +3576,7 @@ public float AnalogValue // DEBUG: bool MouseDown[5]; // Mouse buttons: 0=left, 1=right, 2=middle + extras (ImGuiMouseButton_COUNT == 5). Dear ImGui mostly uses left and right buttons. Others buttons allows us to track if the mouse is being used by your application + available to user as a convenience via IsMouse** API. // DEBUG: float MouseWheel; // Mouse wheel Vertical: 1 unit scrolls about 5 lines text. // DEBUG: float MouseWheelH; // Mouse wheel Horizontal. Most users don't have a mouse with an horizontal wheel, may not be filled by all backends. + // DEBUG: ImGuiID MouseHoveredViewport; // (Optional) Modify using io.AddMouseViewportEvent(). With multi-viewports: viewport the OS mouse is hovering. If possible _IGNORING_ viewports with the ImGuiViewportFlags_NoInputs flag is much better (few backends can handle that). Set io.BackendFlags |= ImGuiBackendFlags_HasMouseHoveredViewport if you can provide this info. If you don't imgui will infer the value using the rectangles and last focused time of the viewports it knows about (ignoring other OS windows). // DEBUG: bool KeyCtrl; // Keyboard modifier down: Control // DEBUG: bool KeyShift; // Keyboard modifier down: Shift // DEBUG: bool KeyAlt; // Keyboard modifier down: Alt @@ -3444,6 +3599,7 @@ public float AnalogValue // DEBUG: bool MouseDownOwnedUnlessPopupClose[5]; // Track if button was clicked inside a dear imgui window. // DEBUG: float MouseDownDuration[5]; // Duration the mouse button has been down (0.0f == just clicked) // DEBUG: float MouseDownDurationPrev[5]; // Previous time the mouse button has been down + // DEBUG: ImVec2 MouseDragMaxDistanceAbs[5]; // Maximum distance, absolute, on each axis, of how much mouse has traveled from the clicking point // DEBUG: float MouseDragMaxDistanceSqr[5]; // Squared maximum distance of how much mouse has traveled from the clicking point (used for moving thresholds) // DEBUG: float NavInputsDownDuration[ImGuiNavInput_COUNT]; // DEBUG: float NavInputsDownDurationPrev[ImGuiNavInput_COUNT]; @@ -3480,6 +3636,14 @@ internal partial struct __Internal internal byte FontAllowUserScaling; internal IntPtr FontDefault; internal Vector2 DisplayFramebufferScale; + internal byte ConfigDockingNoSplit; + internal byte ConfigDockingWithShift; + internal byte ConfigDockingAlwaysTabBar; + internal byte ConfigDockingTransparentPayload; + internal byte ConfigViewportsNoAutoMerge; + internal byte ConfigViewportsNoTaskBarIcon; + internal byte ConfigViewportsNoDecoration; + internal byte ConfigViewportsNoDefaultParent; internal byte MouseDrawCursor; internal byte ConfigMacOSXBehaviors; internal byte ConfigInputTrickleEventQueue; @@ -3516,6 +3680,7 @@ internal partial struct __Internal internal fixed byte MouseDown[5]; internal float MouseWheel; internal float MouseWheelH; + internal uint MouseHoveredViewport; internal byte KeyCtrl; internal byte KeyShift; internal byte KeyAlt; @@ -3536,6 +3701,7 @@ internal partial struct __Internal internal fixed byte MouseDownOwnedUnlessPopupClose[5]; internal fixed float MouseDownDuration[5]; internal fixed float MouseDownDurationPrev[5]; + internal fixed byte MouseDragMaxDistanceAbs[40]; internal fixed float MouseDragMaxDistanceSqr[5]; internal fixed float NavInputsDownDuration[20]; internal fixed float NavInputsDownDurationPrev[20]; @@ -3574,6 +3740,9 @@ private partial struct __Internal32 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?AddMouseWheelEvent@ImGuiIO@@QAEXMM@Z", CallingConvention = CallingConvention.ThisCall)] internal static extern void AddMouseWheelEvent(IntPtr __instance, float wh_x, float wh_y); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?AddMouseViewportEvent@ImGuiIO@@QAEXI@Z", CallingConvention = CallingConvention.ThisCall)] + internal static extern void AddMouseViewportEvent(IntPtr __instance, uint id); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?AddFocusEvent@ImGuiIO@@QAEX_N@Z", CallingConvention = CallingConvention.ThisCall)] internal static extern void AddFocusEvent(IntPtr __instance, bool focused); @@ -3626,6 +3795,9 @@ private partial struct __Internal64 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?AddMouseWheelEvent@ImGuiIO@@QEAAXMM@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void AddMouseWheelEvent(IntPtr __instance, float wh_x, float wh_y); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?AddMouseViewportEvent@ImGuiIO@@QEAAXI@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void AddMouseViewportEvent(IntPtr __instance, uint id); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?AddFocusEvent@ImGuiIO@@QEAAX_N@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void AddFocusEvent(IntPtr __instance, bool focused); @@ -3673,6 +3845,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiIO m private protected bool __ownsNativeInstance; internal static ImGuiIO __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiIO(native.ToPointer(), skipVTables); } @@ -3713,7 +3887,7 @@ private protected ImGuiIO(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2060. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2153. // DEBUG: ImGuiIO() public ImGuiIO() { @@ -3730,7 +3904,7 @@ public ImGuiIO() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1905. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1983. // DEBUG: ImGuiIO public ImGuiIO(ImGuiIO _0) { @@ -3793,7 +3967,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// Queue a new key down/up event. Key should be "translated" (as in, generally ImGuiKey_A matches the key end-user would use to emit an 'A' character).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1973.
+ /// Queue a new key down/up event. Key should be "translated" (as in, generally ImGuiKey_A matches the key end-user would use to emit an 'A' character).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2063.
// DEBUG: void AddKeyEvent(ImGuiKey key, bool down) public void AddKeyEvent(ImGuiKey key, bool down) { @@ -3807,7 +3981,7 @@ public void AddKeyEvent(ImGuiKey key, bool down) } } - /// Queue a new key down/up event for analog values (e.g. ImGuiKey_Gamepad_ values). Dead-zones should be handled by the backend.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1974.
+ /// Queue a new key down/up event for analog values (e.g. ImGuiKey_Gamepad_ values). Dead-zones should be handled by the backend.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2064.
// DEBUG: void AddKeyAnalogEvent(ImGuiKey key, bool down, float v) public void AddKeyAnalogEvent(ImGuiKey key, bool down, float v) { @@ -3821,7 +3995,7 @@ public void AddKeyAnalogEvent(ImGuiKey key, bool down, float v) } } - /// Queue a mouse position update. Use -FLT_MAX,-FLT_MAX to signify no mouse (e.g. app not focused and not hovered).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1975.
+ /// Queue a mouse position update. Use -FLT_MAX,-FLT_MAX to signify no mouse (e.g. app not focused and not hovered).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2065.
// DEBUG: void AddMousePosEvent(float x, float y) public void AddMousePosEvent(float x, float y) { @@ -3835,7 +4009,7 @@ public void AddMousePosEvent(float x, float y) } } - /// Queue a mouse button change.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1976.
+ /// Queue a mouse button change.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2066.
// DEBUG: void AddMouseButtonEvent(int button, bool down) public void AddMouseButtonEvent(int button, bool down) { @@ -3849,7 +4023,7 @@ public void AddMouseButtonEvent(int button, bool down) } } - /// Queue a mouse wheel update.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1977.
+ /// Queue a mouse wheel update.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2067.
// DEBUG: void AddMouseWheelEvent(float wh_x, float wh_y) public void AddMouseWheelEvent(float wh_x, float wh_y) { @@ -3863,7 +4037,21 @@ public void AddMouseWheelEvent(float wh_x, float wh_y) } } - /// Queue a gain/loss of focus for the application (generally based on OS/platform focus of your window).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1978.
+ /// Queue a mouse hovered viewport. Requires backend to set ImGuiBackendFlags_HasMouseHoveredViewport to call this (for multi-viewport support).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2068.
+ // DEBUG: void AddMouseViewportEvent(ImGuiID id) + public void AddMouseViewportEvent(uint id) + { + if (Environment.Is64BitProcess) + { + __Internal64.AddMouseViewportEvent(__Instance, id); + } + else + { + __Internal32.AddMouseViewportEvent(__Instance, id); + } + } + + /// Queue a gain/loss of focus for the application (generally based on OS/platform focus of your window).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2069.
// DEBUG: void AddFocusEvent(bool focused) public void AddFocusEvent(bool focused) { @@ -3877,7 +4065,7 @@ public void AddFocusEvent(bool focused) } } - /// Queue a new character input.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1979.
+ /// Queue a new character input.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2070.
// DEBUG: void AddInputCharacter(unsigned int c) public void AddInputCharacter(uint c) { @@ -3891,7 +4079,7 @@ public void AddInputCharacter(uint c) } } - /// Queue a new character input from an UTF-16 character, it can be a surrogate.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1980.
+ /// Queue a new character input from an UTF-16 character, it can be a surrogate.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2071.
// DEBUG: void AddInputCharacterUTF16(ImWchar16 c) public void AddInputCharacterUTF16(ushort c) { @@ -3905,7 +4093,7 @@ public void AddInputCharacterUTF16(ushort c) } } - /// Queue a new characters input from an UTF-8 string.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1981.
+ /// Queue a new characters input from an UTF-8 string.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2072.
// DEBUG: void AddInputCharactersUTF8(const char* str) public void AddInputCharactersUTF8(string str) { @@ -3919,7 +4107,7 @@ public void AddInputCharactersUTF8(string str) } } - /// [Optional] Specify index for legacy <1.87 IsKeyXXX() functions with native indices + specify native keycode, scancode.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1983.
+ /// [Optional] Specify index for legacy <1.87 IsKeyXXX() functions with native indices + specify native keycode, scancode.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2074.
// DEBUG: void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index = -1) public void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_scancode, int native_legacy_index = (int)(-1)) { @@ -3933,7 +4121,7 @@ public void SetKeyEventNativeData(ImGuiKey key, int native_keycode, int native_s } } - /// Set master flag for accepting key/mouse/text events (default to true). Useful if you have native dialog boxes that are interrupting your application loop/refresh, and you want to disable events being queued while your app is frozen.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1984.
+ /// Set master flag for accepting key/mouse/text events (default to true). Useful if you have native dialog boxes that are interrupting your application loop/refresh, and you want to disable events being queued while your app is frozen.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2075.
// DEBUG: void SetAppAcceptingEvents(bool accepting_events) public void SetAppAcceptingEvents(bool accepting_events) { @@ -3947,7 +4135,7 @@ public void SetAppAcceptingEvents(bool accepting_events) } } - /// [Internal] Clear the text input buffer manually.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1985.
+ /// [Internal] Clear the text input buffer manually.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2076.
// DEBUG: void ClearInputCharacters() public void ClearInputCharacters() { @@ -3961,7 +4149,7 @@ public void ClearInputCharacters() } } - /// [Internal] Release all keys.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1986.
+ /// [Internal] Release all keys.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2077.
// DEBUG: void ClearInputKeys() public void ClearInputKeys() { @@ -3975,7 +4163,7 @@ public void ClearInputKeys() } } - /// = 0.
See ImGuiConfigFlags_ enum. Set by user/application. Gamepad/keyboard navigation options, etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1911.
+ /// = 0.
See ImGuiConfigFlags_ enum. Set by user/application. Gamepad/keyboard navigation options, etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1989.
public ImGuiConfigFlags ConfigFlags { get @@ -3989,7 +4177,7 @@ public ImGuiConfigFlags ConfigFlags } } - /// = 0.
See ImGuiBackendFlags_ enum. Set by backend (imgui_impl_xxx files or custom backend) to communicate features supported by the backend.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1912.
+ /// = 0.
See ImGuiBackendFlags_ enum. Set by backend (imgui_impl_xxx files or custom backend) to communicate features supported by the backend.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1990.
public ImGuiBackendFlags BackendFlags { get @@ -4003,7 +4191,7 @@ public ImGuiBackendFlags BackendFlags } } - /// <unset>.
Main display size, in pixels (generally == GetMainViewport()->Size). May change every frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1913.
+ /// <unset>.
Main display size, in pixels (generally == GetMainViewport()->Size). May change every frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1991.
public Vector2 DisplaySize { get @@ -4023,7 +4211,7 @@ public Vector2 DisplaySize } } - /// = 1.0f/60.0f.
Time elapsed since last frame, in seconds. May change every frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1914.
+ /// = 1.0f/60.0f.
Time elapsed since last frame, in seconds. May change every frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1992.
public float DeltaTime { get @@ -4037,7 +4225,7 @@ public float DeltaTime } } - /// = 5.0f.
Minimum time between saving positions/sizes to .ini file, in seconds.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1915.
+ /// = 5.0f.
Minimum time between saving positions/sizes to .ini file, in seconds.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1993.
public float IniSavingRate { get @@ -4051,7 +4239,7 @@ public float IniSavingRate } } - /// = "imgui.ini".
Path to .ini file (important: default "imgui.ini" is relative to current working dir!). Set NULL to disable automatic .ini loading/saving or if you want to manually call LoadIniSettingsXXX() / SaveIniSettingsXXX() functions.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1916.
+ /// = "imgui.ini".
Path to .ini file (important: default "imgui.ini" is relative to current working dir!). Set NULL to disable automatic .ini loading/saving or if you want to manually call LoadIniSettingsXXX() / SaveIniSettingsXXX() functions.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1994.
public string IniFilename { get @@ -4078,7 +4266,7 @@ public string IniFilename } } - /// = "imgui_log.txt".
Path to .log file (default parameter to ImGui::LogToFile when no file is specified).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1917.
+ /// = "imgui_log.txt".
Path to .log file (default parameter to ImGui::LogToFile when no file is specified).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1995.
public string LogFilename { get @@ -4105,7 +4293,7 @@ public string LogFilename } } - /// = 0.30f.
Time for a double-click, in seconds.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1918.
+ /// = 0.30f.
Time for a double-click, in seconds.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1996.
public float MouseDoubleClickTime { get @@ -4119,7 +4307,7 @@ public float MouseDoubleClickTime } } - /// = 6.0f.
Distance threshold to stay in to validate a double-click, in pixels.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1919.
+ /// = 6.0f.
Distance threshold to stay in to validate a double-click, in pixels.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1997.
public float MouseDoubleClickMaxDist { get @@ -4133,7 +4321,7 @@ public float MouseDoubleClickMaxDist } } - /// = 6.0f.
Distance threshold before considering we are dragging.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1920.
+ /// = 6.0f.
Distance threshold before considering we are dragging.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1998.
public float MouseDragThreshold { get @@ -4147,7 +4335,7 @@ public float MouseDragThreshold } } - /// = 0.250f.
When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1921.
+ /// = 0.250f.
When holding a key/button, time before it starts repeating, in seconds (for buttons in Repeat mode, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L1999.
public float KeyRepeatDelay { get @@ -4161,7 +4349,7 @@ public float KeyRepeatDelay } } - /// = 0.050f.
When holding a key/button, rate at which it repeats, in seconds.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1922.
+ /// = 0.050f.
When holding a key/button, rate at which it repeats, in seconds.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2000.
public float KeyRepeatRate { get @@ -4175,7 +4363,7 @@ public float KeyRepeatRate } } - /// = NULL.
Store your own data for retrieval by callbacks.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1923.
+ /// = NULL.
Store your own data for retrieval by callbacks.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2001.
public IntPtr UserData { get @@ -4189,7 +4377,7 @@ public IntPtr UserData } } - /// <auto>.
Font atlas: load, rasterize and pack one or more fonts into a single texture.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1925.
+ /// <auto>.
Font atlas: load, rasterize and pack one or more fonts into a single texture.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2003.
public ImFontAtlas Fonts { get @@ -4204,7 +4392,7 @@ public ImFontAtlas Fonts } } - /// = 1.0f.
Global scale all fonts.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1926.
+ /// = 1.0f.
Global scale all fonts.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2004.
public float FontGlobalScale { get @@ -4218,7 +4406,7 @@ public float FontGlobalScale } } - /// = false.
Allow user scaling text of individual window with CTRL+Wheel.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1927.
+ /// = false.
Allow user scaling text of individual window with CTRL+Wheel.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2005.
public bool FontAllowUserScaling { get @@ -4232,7 +4420,7 @@ public bool FontAllowUserScaling } } - /// = NULL.
Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1928.
+ /// = NULL.
Font to use on NewFrame(). Use NULL to uses Fonts->Fonts[0].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2006.
public ImFont FontDefault { get @@ -4247,7 +4435,7 @@ public ImFont FontDefault } } - /// = (1, 1).
For retina display or other situations where window coordinates are different from framebuffer coordinates. This generally ends up in ImDrawData::FramebufferScale.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1929.
+ /// = (1, 1).
For retina display or other situations where window coordinates are different from framebuffer coordinates. This generally ends up in ImDrawData::FramebufferScale.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2007.
public Vector2 DisplayFramebufferScale { get @@ -4267,7 +4455,119 @@ public Vector2 DisplayFramebufferScale } } - /// = false.
Request ImGui to draw a mouse cursor for you (if you are on a platform without a mouse cursor). Cannot be easily renamed to 'io.ConfigXXX' because this is frequently used by backend implementations.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1932.
+ /// = false.
Simplified docking mode: disable window splitting, so docking is limited to merging multiple windows together into tab-bars.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2010.
+ public bool ConfigDockingNoSplit + { + get + { + return ((__Internal*)__Instance)->ConfigDockingNoSplit != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigDockingNoSplit = (byte)(value ? 1 : 0); + } + } + + /// = false.
Enable docking with holding Shift key (reduce visual noise, allows dropping in wider space).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2011.
+ public bool ConfigDockingWithShift + { + get + { + return ((__Internal*)__Instance)->ConfigDockingWithShift != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigDockingWithShift = (byte)(value ? 1 : 0); + } + } + + /// = false.
[BETA] [FIXME: This currently creates regression with auto-sizing and general overhead] Make every single floating window display within a docking node.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2012.
+ public bool ConfigDockingAlwaysTabBar + { + get + { + return ((__Internal*)__Instance)->ConfigDockingAlwaysTabBar != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigDockingAlwaysTabBar = (byte)(value ? 1 : 0); + } + } + + /// = false.
[BETA] Make window or viewport transparent when docking and only display docking boxes on the target viewport. Useful if rendering of multiple viewport cannot be synced. Best used with ConfigViewportsNoAutoMerge.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2013.
+ public bool ConfigDockingTransparentPayload + { + get + { + return ((__Internal*)__Instance)->ConfigDockingTransparentPayload != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigDockingTransparentPayload = (byte)(value ? 1 : 0); + } + } + + /// = false;.
Set to make all floating imgui windows always create their own viewport. Otherwise, they are merged into the main host viewports when overlapping it. May also set ImGuiViewportFlags_NoAutoMerge on individual viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2016.
+ public bool ConfigViewportsNoAutoMerge + { + get + { + return ((__Internal*)__Instance)->ConfigViewportsNoAutoMerge != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigViewportsNoAutoMerge = (byte)(value ? 1 : 0); + } + } + + /// = false.
Disable default OS task bar icon flag for secondary viewports. When a viewport doesn't want a task bar icon, ImGuiViewportFlags_NoTaskBarIcon will be set on it.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2017.
+ public bool ConfigViewportsNoTaskBarIcon + { + get + { + return ((__Internal*)__Instance)->ConfigViewportsNoTaskBarIcon != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigViewportsNoTaskBarIcon = (byte)(value ? 1 : 0); + } + } + + /// = true.
Disable default OS window decoration flag for secondary viewports. When a viewport doesn't want window decorations, ImGuiViewportFlags_NoDecoration will be set on it. Enabling decoration can create subsequent issues at OS levels (e.g. minimum window size).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2018.
+ public bool ConfigViewportsNoDecoration + { + get + { + return ((__Internal*)__Instance)->ConfigViewportsNoDecoration != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigViewportsNoDecoration = (byte)(value ? 1 : 0); + } + } + + /// = false.
Disable default OS parenting to main viewport for secondary viewports. By default, viewports are marked with ParentViewportId = <main_viewport>, expecting the platform backend to setup a parent/child relationship between the OS windows (some backend may ignore this). Set to true if you want the default to be 0, then all viewports will be top-level OS windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2019.
+ public bool ConfigViewportsNoDefaultParent + { + get + { + return ((__Internal*)__Instance)->ConfigViewportsNoDefaultParent != 0; + } + + set + { + ((__Internal*)__Instance)->ConfigViewportsNoDefaultParent = (byte)(value ? 1 : 0); + } + } + + /// = false.
Request ImGui to draw a mouse cursor for you (if you are on a platform without a mouse cursor). Cannot be easily renamed to 'io.ConfigXXX' because this is frequently used by backend implementations.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2022.
public bool MouseDrawCursor { get @@ -4281,7 +4581,7 @@ public bool MouseDrawCursor } } - /// = defined(__APPLE__).
OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1933.
+ /// = defined(__APPLE__).
OS X style: Text editing cursor movement using Alt instead of Ctrl, Shortcuts using Cmd/Super instead of Ctrl, Line/Text Start and End using Cmd+Arrows instead of Home/End, Double click selects by word instead of selecting whole text, Multi-selection in lists uses Cmd/Super instead of Ctrl.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2023.
public bool ConfigMacOSXBehaviors { get @@ -4295,7 +4595,7 @@ public bool ConfigMacOSXBehaviors } } - /// = true.
Enable input queue trickling: some types of events submitted during the same frame (e.g. button down + up) will be spread over multiple frames, improving interactions with low framerates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1934.
+ /// = true.
Enable input queue trickling: some types of events submitted during the same frame (e.g. button down + up) will be spread over multiple frames, improving interactions with low framerates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2024.
public bool ConfigInputTrickleEventQueue { get @@ -4309,7 +4609,7 @@ public bool ConfigInputTrickleEventQueue } } - /// = true.
Enable blinking cursor (optional as some users consider it to be distracting).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1935.
+ /// = true.
Enable blinking cursor (optional as some users consider it to be distracting).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2025.
public bool ConfigInputTextCursorBlink { get @@ -4323,7 +4623,7 @@ public bool ConfigInputTextCursorBlink } } - /// = false.
[BETA] Enable turning DragXXX widgets into text input with a simple mouse click-release (without moving). Not desirable on devices without a keyboard.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1936.
+ /// = false.
[BETA] Enable turning DragXXX widgets into text input with a simple mouse click-release (without moving). Not desirable on devices without a keyboard.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2026.
public bool ConfigDragClickToInputText { get @@ -4337,7 +4637,7 @@ public bool ConfigDragClickToInputText } } - /// = true.
Enable resizing of windows from their edges and from the lower-left corner. This requires (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) because it needs mouse cursor feedback. (This used to be a per-window ImGuiWindowFlags_ResizeFromAnySide flag).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1937.
+ /// = true.
Enable resizing of windows from their edges and from the lower-left corner. This requires (io.BackendFlags & ImGuiBackendFlags_HasMouseCursors) because it needs mouse cursor feedback. (This used to be a per-window ImGuiWindowFlags_ResizeFromAnySide flag).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2027.
public bool ConfigWindowsResizeFromEdges { get @@ -4351,7 +4651,7 @@ public bool ConfigWindowsResizeFromEdges } } - /// = false.
Enable allowing to move windows only when clicking on their title bar. Does not apply to windows without a title bar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1938.
+ /// = false.
Enable allowing to move windows only when clicking on their title bar. Does not apply to windows without a title bar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2028.
public bool ConfigWindowsMoveFromTitleBarOnly { get @@ -4365,7 +4665,7 @@ public bool ConfigWindowsMoveFromTitleBarOnly } } - /// = 60.0f.
Timer (in seconds) to free transient windows/tables memory buffers when unused. Set to -1.0f to disable.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1939.
+ /// = 60.0f.
Timer (in seconds) to free transient windows/tables memory buffers when unused. Set to -1.0f to disable.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2029.
public float ConfigMemoryCompactTimer { get @@ -4379,7 +4679,7 @@ public float ConfigMemoryCompactTimer } } - /// = NULL.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1947.
+ /// = NULL.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2037.
public string BackendPlatformName { get @@ -4406,7 +4706,7 @@ public string BackendPlatformName } } - /// = NULL.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1948.
+ /// = NULL.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2038.
public string BackendRendererName { get @@ -4433,7 +4733,7 @@ public string BackendRendererName } } - /// = NULL.
User data for platform backend.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1949.
+ /// = NULL.
User data for platform backend.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2039.
public IntPtr BackendPlatformUserData { get @@ -4447,7 +4747,7 @@ public IntPtr BackendPlatformUserData } } - /// = NULL.
User data for renderer backend.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1950.
+ /// = NULL.
User data for renderer backend.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2040.
public IntPtr BackendRendererUserData { get @@ -4461,7 +4761,7 @@ public IntPtr BackendRendererUserData } } - /// = NULL.
User data for non C++ programming language backend.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1951.
+ /// = NULL.
User data for non C++ programming language backend.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2041.
public IntPtr BackendLanguageUserData { get @@ -4475,7 +4775,7 @@ public IntPtr BackendLanguageUserData } } - /// Optional: Access OS clipboard.
(default to use native Win32 clipboard on Windows, otherwise uses a private clipboard. Override to access OS clipboard on other architectures).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1955.
+ /// Optional: Access OS clipboard.
(default to use native Win32 clipboard on Windows, otherwise uses a private clipboard. Override to access OS clipboard on other architectures).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2045.
public ImGetClipboardTextHandler GetClipboardTextFn { get @@ -4490,7 +4790,7 @@ public ImGetClipboardTextHandler GetClipboardTextFn } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1956. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2046. public ImSetClipboardTextHandler SetClipboardTextFn { get @@ -4505,7 +4805,7 @@ public ImSetClipboardTextHandler SetClipboardTextFn } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1957. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2047. public IntPtr ClipboardUserData { get @@ -4519,7 +4819,7 @@ public IntPtr ClipboardUserData } } - /// Optional: Notify OS Input Method Editor of the screen position of your cursor for text input position (e.g. when using Japanese/Chinese IME on Windows).
(default to use native imm32 api on Windows).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1961.
+ /// Optional: Notify OS Input Method Editor of the screen position of your cursor for text input position (e.g. when using Japanese/Chinese IME on Windows).
(default to use native imm32 api on Windows).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2051.
public ImSetPlatformImeDataHandler SetPlatformImeDataFn { get @@ -4534,7 +4834,7 @@ public ImSetPlatformImeDataHandler SetPlatformImeDataFn } } - /// Unused field to keep data structure the same size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1965.
+ /// Unused field to keep data structure the same size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2055.
public IntPtr UnusedPadding { get @@ -4548,7 +4848,7 @@ public IntPtr UnusedPadding } } - /// Set when Dear ImGui will use mouse inputs, in this case do not dispatch them to your main game/application (either way, always pass on mouse inputs to imgui). (e.g. unclicked mouse is hovering over an imgui window, widget is active, mouse was clicked over an imgui window, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1994.
+ /// Set when Dear ImGui will use mouse inputs, in this case do not dispatch them to your main game/application (either way, always pass on mouse inputs to imgui). (e.g. unclicked mouse is hovering over an imgui window, widget is active, mouse was clicked over an imgui window, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2085.
public bool WantCaptureMouse { get @@ -4562,7 +4862,7 @@ public bool WantCaptureMouse } } - /// Set when Dear ImGui will use keyboard inputs, in this case do not dispatch them to your main game/application (either way, always pass keyboard inputs to imgui). (e.g. InputText active, or an imgui window is focused and navigation is enabled, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1995.
+ /// Set when Dear ImGui will use keyboard inputs, in this case do not dispatch them to your main game/application (either way, always pass keyboard inputs to imgui). (e.g. InputText active, or an imgui window is focused and navigation is enabled, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2086.
public bool WantCaptureKeyboard { get @@ -4576,7 +4876,7 @@ public bool WantCaptureKeyboard } } - /// Mobile/console: when set, you may display an on-screen keyboard. This is set by Dear ImGui when it wants textual keyboard input to happen (e.g. when a InputText widget is active).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1996.
+ /// Mobile/console: when set, you may display an on-screen keyboard. This is set by Dear ImGui when it wants textual keyboard input to happen (e.g. when a InputText widget is active).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2087.
public bool WantTextInput { get @@ -4590,7 +4890,7 @@ public bool WantTextInput } } - /// MousePos has been altered, backend should reposition mouse on next frame. Rarely used! Set only when ImGuiConfigFlags_NavEnableSetMousePos flag is enabled.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1997.
+ /// MousePos has been altered, backend should reposition mouse on next frame. Rarely used! Set only when ImGuiConfigFlags_NavEnableSetMousePos flag is enabled.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2088.
public bool WantSetMousePos { get @@ -4604,7 +4904,7 @@ public bool WantSetMousePos } } - /// When manual .ini load/save is active (io.IniFilename == NULL), this will be set to notify your application that you can call SaveIniSettingsToMemory() and save yourself. Important: clear io.WantSaveIniSettings yourself after saving!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1998.
+ /// When manual .ini load/save is active (io.IniFilename == NULL), this will be set to notify your application that you can call SaveIniSettingsToMemory() and save yourself. Important: clear io.WantSaveIniSettings yourself after saving!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2089.
public bool WantSaveIniSettings { get @@ -4618,7 +4918,7 @@ public bool WantSaveIniSettings } } - /// Keyboard/Gamepad navigation is currently allowed (will handle ImGuiKey_NavXXX events) = a window is focused and it doesn't use the ImGuiWindowFlags_NoNavInputs flag.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L1999.
+ /// Keyboard/Gamepad navigation is currently allowed (will handle ImGuiKey_NavXXX events) = a window is focused and it doesn't use the ImGuiWindowFlags_NoNavInputs flag.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2090.
public bool NavActive { get @@ -4632,7 +4932,7 @@ public bool NavActive } } - /// Keyboard/Gamepad navigation is visible and allowed (will handle ImGuiKey_NavXXX events).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2000.
+ /// Keyboard/Gamepad navigation is visible and allowed (will handle ImGuiKey_NavXXX events).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2091.
public bool NavVisible { get @@ -4646,7 +4946,7 @@ public bool NavVisible } } - /// Rough estimate of application framerate, in frame per second. Solely for convenience. Rolling average estimation based on io.DeltaTime over 120 frames.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2001.
+ /// Rough estimate of application framerate, in frame per second. Solely for convenience. Rolling average estimation based on io.DeltaTime over 120 frames.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2092.
public float Framerate { get @@ -4660,7 +4960,7 @@ public float Framerate } } - /// Vertices output during last call to Render().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2002.
+ /// Vertices output during last call to Render().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2093.
public int MetricsRenderVertices { get @@ -4674,7 +4974,7 @@ public int MetricsRenderVertices } } - /// Indices output during last call to Render() = number of triangles * 3.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2003.
+ /// Indices output during last call to Render() = number of triangles * 3.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2094.
public int MetricsRenderIndices { get @@ -4688,7 +4988,7 @@ public int MetricsRenderIndices } } - /// Number of visible windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2004.
+ /// Number of visible windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2095.
public int MetricsRenderWindows { get @@ -4702,7 +5002,7 @@ public int MetricsRenderWindows } } - /// Number of active windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2005.
+ /// Number of active windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2096.
public int MetricsActiveWindows { get @@ -4716,7 +5016,7 @@ public int MetricsActiveWindows } } - /// Number of active allocations, updated by MemAlloc/MemFree based on current context. May be off if you have multiple imgui contexts.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2006.
+ /// Number of active allocations, updated by MemAlloc/MemFree based on current context. May be off if you have multiple imgui contexts.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2097.
public int MetricsActiveAllocations { get @@ -4730,7 +5030,7 @@ public int MetricsActiveAllocations } } - /// Mouse delta. Note that this is zero if either current or previous position are invalid (-FLT_MAX,-FLT_MAX), so a disappearing/reappearing mouse won't have a huge delta.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2007.
+ /// Mouse delta. Note that this is zero if either current or previous position are invalid (-FLT_MAX,-FLT_MAX), so a disappearing/reappearing mouse won't have a huge delta.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2098.
public Vector2 MouseDelta { get @@ -4750,7 +5050,7 @@ public Vector2 MouseDelta } } - /// Mouse position, in pixels. Set to ImVec2(-FLT_MAX, -FLT_MAX) if mouse is unavailable (on another screen, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2023.
+ /// Mouse position, in pixels. Set to ImVec2(-FLT_MAX, -FLT_MAX) if mouse is unavailable (on another screen, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2114.
public Vector2 MousePos { get @@ -4770,7 +5070,7 @@ public Vector2 MousePos } } - /// Mouse buttons: 0=left, 1=right, 2=middle + extras (ImGuiMouseButton_COUNT == 5). Dear ImGui mostly uses left and right buttons. Others buttons allows us to track if the mouse is being used by your application + available to user as a convenience via IsMouse** API.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2024.
+ /// Mouse buttons: 0=left, 1=right, 2=middle + extras (ImGuiMouseButton_COUNT == 5). Dear ImGui mostly uses left and right buttons. Others buttons allows us to track if the mouse is being used by your application + available to user as a convenience via IsMouse** API.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2115.
public Span MouseDown { get @@ -4788,7 +5088,7 @@ public Span MouseDown } } - /// Mouse wheel Vertical: 1 unit scrolls about 5 lines text.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2025.
+ /// Mouse wheel Vertical: 1 unit scrolls about 5 lines text.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2116.
public float MouseWheel { get @@ -4802,7 +5102,7 @@ public float MouseWheel } } - /// Mouse wheel Horizontal. Most users don't have a mouse with an horizontal wheel, may not be filled by all backends.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2026.
+ /// Mouse wheel Horizontal. Most users don't have a mouse with an horizontal wheel, may not be filled by all backends.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2117.
public float MouseWheelH { get @@ -4816,7 +5116,21 @@ public float MouseWheelH } } - /// Keyboard modifier down: Control.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2027.
+ /// (Optional) Modify using io.AddMouseViewportEvent(). With multi-viewports: viewport the OS mouse is hovering. If possible _IGNORING_ viewports with the ImGuiViewportFlags_NoInputs flag is much better (few backends can handle that). Set io.BackendFlags |= ImGuiBackendFlags_HasMouseHoveredViewport if you can provide this info. If you don't imgui will infer the value using the rectangles and last focused time of the viewports it knows about (ignoring other OS windows).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2118.
+ public uint MouseHoveredViewport + { + get + { + return ((__Internal*)__Instance)->MouseHoveredViewport; + } + + set + { + ((__Internal*)__Instance)->MouseHoveredViewport = value; + } + } + + /// Keyboard modifier down: Control.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2119.
public bool KeyCtrl { get @@ -4830,7 +5144,7 @@ public bool KeyCtrl } } - /// Keyboard modifier down: Shift.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2028.
+ /// Keyboard modifier down: Shift.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2120.
public bool KeyShift { get @@ -4844,7 +5158,7 @@ public bool KeyShift } } - /// Keyboard modifier down: Alt.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2029.
+ /// Keyboard modifier down: Alt.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2121.
public bool KeyAlt { get @@ -4858,7 +5172,7 @@ public bool KeyAlt } } - /// Keyboard modifier down: Cmd/Super/Windows.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2030.
+ /// Keyboard modifier down: Cmd/Super/Windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2122.
public bool KeySuper { get @@ -4872,7 +5186,7 @@ public bool KeySuper } } - /// Gamepad inputs. Cleared back to zero by EndFrame(). Keyboard keys will be auto-mapped and be written here by NewFrame().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2031.
+ /// Gamepad inputs. Cleared back to zero by EndFrame(). Keyboard keys will be auto-mapped and be written here by NewFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2123.
public Span NavInputs { get @@ -4890,7 +5204,7 @@ public Span NavInputs } } - /// Key mods flags (same as io.KeyCtrl/KeyShift/KeyAlt/KeySuper but merged into flags), updated by NewFrame().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2034.
+ /// Key mods flags (same as io.KeyCtrl/KeyShift/KeyAlt/KeySuper but merged into flags), updated by NewFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2126.
public int KeyMods { get @@ -4904,7 +5218,7 @@ public int KeyMods } } - /// Key state for all known keys. Use IsKeyXXX() functions to access this.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2035.
+ /// Key state for all known keys. Use IsKeyXXX() functions to access this.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2127.
public Span KeysData { get @@ -4932,7 +5246,7 @@ public Span KeysData } } - /// Alternative to WantCaptureMouse: (WantCaptureMouse == true & & WantCaptureMouseUnlessPopupClose == false) when a click over void is expected to close a popup.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2036.
+ /// Alternative to WantCaptureMouse: (WantCaptureMouse == true & & WantCaptureMouseUnlessPopupClose == false) when a click over void is expected to close a popup.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2128.
public bool WantCaptureMouseUnlessPopupClose { get @@ -4946,7 +5260,7 @@ public bool WantCaptureMouseUnlessPopupClose } } - /// Previous mouse position (note that MouseDelta is not necessary == MousePos-MousePosPrev, in case either position is invalid).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2037.
+ /// Previous mouse position (note that MouseDelta is not necessary == MousePos-MousePosPrev, in case either position is invalid).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2129.
public Vector2 MousePosPrev { get @@ -4966,7 +5280,7 @@ public Vector2 MousePosPrev } } - /// Time of last click (used to figure out double-click).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2039.
+ /// Time of last click (used to figure out double-click).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2131.
public Span MouseClickedTime { get @@ -4984,7 +5298,7 @@ public Span MouseClickedTime } } - /// Mouse button went from !Down to Down (same as MouseClickedCount[x] != 0).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2040.
+ /// Mouse button went from !Down to Down (same as MouseClickedCount[x] != 0).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2132.
public Span MouseClicked { get @@ -5002,7 +5316,7 @@ public Span MouseClicked } } - /// Has mouse button been double-clicked? (same as MouseClickedCount[x] == 2).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2041.
+ /// Has mouse button been double-clicked? (same as MouseClickedCount[x] == 2).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2133.
public Span MouseDoubleClicked { get @@ -5020,7 +5334,7 @@ public Span MouseDoubleClicked } } - /// == 0 (not clicked), == 1 (same as MouseClicked[]), == 2 (double-clicked), == 3 (triple-clicked) etc. when going from !Down to Down.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2042.
+ /// == 0 (not clicked), == 1 (same as MouseClicked[]), == 2 (double-clicked), == 3 (triple-clicked) etc. when going from !Down to Down.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2134.
public Span MouseClickedCount { get @@ -5038,7 +5352,7 @@ public Span MouseClickedCount } } - /// Count successive number of clicks. Stays valid after mouse release. Reset after another click is done.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2043.
+ /// Count successive number of clicks. Stays valid after mouse release. Reset after another click is done.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2135.
public Span MouseClickedLastCount { get @@ -5056,7 +5370,7 @@ public Span MouseClickedLastCount } } - /// Mouse button went from Down to !Down.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2044.
+ /// Mouse button went from Down to !Down.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2136.
public Span MouseReleased { get @@ -5074,7 +5388,7 @@ public Span MouseReleased } } - /// Track if button was clicked inside a dear imgui window or over void blocked by a popup. We don't request mouse capture from the application if click started outside ImGui bounds.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2045.
+ /// Track if button was clicked inside a dear imgui window or over void blocked by a popup. We don't request mouse capture from the application if click started outside ImGui bounds.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2137.
public Span MouseDownOwned { get @@ -5092,7 +5406,7 @@ public Span MouseDownOwned } } - /// Track if button was clicked inside a dear imgui window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2046.
+ /// Track if button was clicked inside a dear imgui window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2138.
public Span MouseDownOwnedUnlessPopupClose { get @@ -5110,7 +5424,7 @@ public Span MouseDownOwnedUnlessPopupClose } } - /// Duration the mouse button has been down (0.0f == just clicked).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2047.
+ /// Duration the mouse button has been down (0.0f == just clicked).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2139.
public Span MouseDownDuration { get @@ -5128,7 +5442,7 @@ public Span MouseDownDuration } } - /// Previous time the mouse button has been down.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2048.
+ /// Previous time the mouse button has been down.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2140.
public Span MouseDownDurationPrev { get @@ -5146,7 +5460,7 @@ public Span MouseDownDurationPrev } } - /// Squared maximum distance of how much mouse has traveled from the clicking point (used for moving thresholds).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2049.
+ /// Squared maximum distance of how much mouse has traveled from the clicking point (used for moving thresholds).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2142.
public Span MouseDragMaxDistanceSqr { get @@ -5164,7 +5478,7 @@ public Span MouseDragMaxDistanceSqr } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2050. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2143. public Span NavInputsDownDuration { get @@ -5182,7 +5496,7 @@ public Span NavInputsDownDuration } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2051. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2144. public Span NavInputsDownDurationPrev { get @@ -5200,7 +5514,7 @@ public Span NavInputsDownDurationPrev } } - /// Touch/Pen pressure (0.0f to 1.0f, should be >0.0f only when MouseDown[0] == true). Helper storage currently unused by Dear ImGui.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2052.
+ /// Touch/Pen pressure (0.0f to 1.0f, should be >0.0f only when MouseDown[0] == true). Helper storage currently unused by Dear ImGui.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2145.
public float PenPressure { get @@ -5214,7 +5528,7 @@ public float PenPressure } } - /// Only modify via AddFocusEvent().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2053.
+ /// Only modify via AddFocusEvent().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2146.
public bool AppFocusLost { get @@ -5228,7 +5542,7 @@ public bool AppFocusLost } } - /// Only modify via SetAppAcceptingEvents().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2054.
+ /// Only modify via SetAppAcceptingEvents().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2147.
public bool AppAcceptingEvents { get @@ -5242,7 +5556,7 @@ public bool AppAcceptingEvents } } - /// -1: unknown, 0: using AddKeyEvent(), 1: using legacy io.KeysDown[].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2055.
+ /// -1: unknown, 0: using AddKeyEvent(), 1: using legacy io.KeysDown[].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2148.
public sbyte BackendUsingLegacyKeyArrays { get @@ -5256,7 +5570,7 @@ public sbyte BackendUsingLegacyKeyArrays } } - /// 0: using AddKeyAnalogEvent(), 1: writing to legacy io.NavInputs[] directly.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2056.
+ /// 0: using AddKeyAnalogEvent(), 1: writing to legacy io.NavInputs[] directly.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2149.
public bool BackendUsingLegacyNavInputArray { get @@ -5270,7 +5584,7 @@ public bool BackendUsingLegacyNavInputArray } } - /// For AddInputCharacterUTF16().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2057.
+ /// For AddInputCharacterUTF16().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2150.
public ushort InputQueueSurrogate { get @@ -5284,7 +5598,7 @@ public ushort InputQueueSurrogate } } - /// Queue of _characters_ input (obtained by platform backend). Fill using AddInputCharacter() helper.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2058.
+ /// Queue of _characters_ input (obtained by platform backend). Fill using AddInputCharacter() helper.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2151.
public ImVector InputQueueCharacters { get @@ -5296,7 +5610,7 @@ public ImVector InputQueueCharacters } } - /// Shared state of InputText(), passed as an argument to your callback when a ImGuiInputTextFlags_Callback* flag is used.
The callback function should return 0 by default.
Callbacks (follow a flag name and see comments in ImGuiInputTextFlags_ declarations for more details).
- ImGuiInputTextFlags_CallbackEdit:, Callback on buffer edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active).
- ImGuiInputTextFlags_CallbackAlways:, Callback on each iteration.
- ImGuiInputTextFlags_CallbackCompletion:, Callback on pressing TAB.
- ImGuiInputTextFlags_CallbackHistory:, Callback on pressing Up/Down arrows.
- ImGuiInputTextFlags_CallbackCharFilter:, Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
- ImGuiInputTextFlags_CallbackResize:, Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2076.
+ /// Shared state of InputText(), passed as an argument to your callback when a ImGuiInputTextFlags_Callback* flag is used.
The callback function should return 0 by default.
Callbacks (follow a flag name and see comments in ImGuiInputTextFlags_ declarations for more details).
- ImGuiInputTextFlags_CallbackEdit:, Callback on buffer edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active).
- ImGuiInputTextFlags_CallbackAlways:, Callback on each iteration.
- ImGuiInputTextFlags_CallbackCompletion:, Callback on pressing TAB.
- ImGuiInputTextFlags_CallbackHistory:, Callback on pressing Up/Down arrows.
- ImGuiInputTextFlags_CallbackCharFilter:, Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
- ImGuiInputTextFlags_CallbackResize:, Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2169.
// DEBUG: struct ImGuiInputTextCallbackData // DEBUG: { // DEBUG: ImGuiInputTextFlags EventFlag; // One ImGuiInputTextFlags_Callback* // Read-only @@ -5413,6 +5727,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiInpu private protected bool __ownsNativeInstance; internal static ImGuiInputTextCallbackData __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiInputTextCallbackData(native.ToPointer(), skipVTables); } @@ -5453,7 +5769,7 @@ private protected ImGuiInputTextCallbackData(void* native, bool skipVTables = fa __Instance = new IntPtr(native); } - /// Helper functions for text manipulation.
Use those function to benefit from the CallbackResize behaviors. Calling those function reset the selection.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2097.
+ /// Helper functions for text manipulation.
Use those function to benefit from the CallbackResize behaviors. Calling those function reset the selection.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2190.
// DEBUG: ImGuiInputTextCallbackData() public ImGuiInputTextCallbackData() { @@ -5470,7 +5786,7 @@ public ImGuiInputTextCallbackData() } } - /// Shared state of InputText(), passed as an argument to your callback when a ImGuiInputTextFlags_Callback* flag is used.
The callback function should return 0 by default.
Callbacks (follow a flag name and see comments in ImGuiInputTextFlags_ declarations for more details).
- ImGuiInputTextFlags_CallbackEdit:, Callback on buffer edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active).
- ImGuiInputTextFlags_CallbackAlways:, Callback on each iteration.
- ImGuiInputTextFlags_CallbackCompletion:, Callback on pressing TAB.
- ImGuiInputTextFlags_CallbackHistory:, Callback on pressing Up/Down arrows.
- ImGuiInputTextFlags_CallbackCharFilter:, Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
- ImGuiInputTextFlags_CallbackResize:, Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2076.
+ /// Shared state of InputText(), passed as an argument to your callback when a ImGuiInputTextFlags_Callback* flag is used.
The callback function should return 0 by default.
Callbacks (follow a flag name and see comments in ImGuiInputTextFlags_ declarations for more details).
- ImGuiInputTextFlags_CallbackEdit:, Callback on buffer edit (note that InputText() already returns true on edit, the callback is useful mainly to manipulate the underlying buffer while focus is active).
- ImGuiInputTextFlags_CallbackAlways:, Callback on each iteration.
- ImGuiInputTextFlags_CallbackCompletion:, Callback on pressing TAB.
- ImGuiInputTextFlags_CallbackHistory:, Callback on pressing Up/Down arrows.
- ImGuiInputTextFlags_CallbackCharFilter:, Callback on character inputs to replace or discard them. Modify 'EventChar' to replace or discard, or return 1 in callback to discard.
- ImGuiInputTextFlags_CallbackResize:, Callback on buffer capacity changes request (beyond 'buf_size' parameter value), allowing the string to grow.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2169.
// DEBUG: ImGuiInputTextCallbackData public ImGuiInputTextCallbackData(ImGuiInputTextCallbackData _0) { @@ -5515,7 +5831,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2098. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2191. // DEBUG: void DeleteChars(int pos, int bytes_count) public void DeleteChars(int pos, int bytes_count) { @@ -5529,7 +5845,7 @@ public void DeleteChars(int pos, int bytes_count) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2099. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2192. // DEBUG: void InsertChars(int pos, const char* text, const char* text_end = NULL) public void InsertChars(int pos, string text, string text_end = default) { @@ -5543,7 +5859,7 @@ public void InsertChars(int pos, string text, string text_end = default) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2100. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2193. // DEBUG: void SelectAll() { SelectionStart = 0; SelectionEnd = BufTextLen; } public void SelectAll() { @@ -5557,7 +5873,7 @@ public void SelectAll() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2101. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2194. // DEBUG: void ClearSelection() { SelectionStart = SelectionEnd = BufTextLen; } public void ClearSelection() { @@ -5571,7 +5887,7 @@ public void ClearSelection() } } - /// One ImGuiInputTextFlags_Callback*.
Read-only.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2078.
+ /// One ImGuiInputTextFlags_Callback*.
Read-only.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2171.
public ImGuiInputTextFlags EventFlag { get @@ -5585,7 +5901,7 @@ public ImGuiInputTextFlags EventFlag } } - /// What user passed to InputText().
Read-only.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2079.
+ /// What user passed to InputText().
Read-only.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2172.
public ImGuiInputTextFlags Flags { get @@ -5599,7 +5915,7 @@ public ImGuiInputTextFlags Flags } } - /// What user passed to InputText().
Read-only.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2080.
+ /// What user passed to InputText().
Read-only.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2173.
public IntPtr UserData { get @@ -5613,7 +5929,7 @@ public IntPtr UserData } } - /// Character input.
Read-write.
[CharFilter] Replace character with another one, or set to zero to drop. return 1 is equivalent to setting EventChar=0;.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2085.
+ /// Character input.
Read-write.
[CharFilter] Replace character with another one, or set to zero to drop. return 1 is equivalent to setting EventChar=0;.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2178.
public ushort EventChar { get @@ -5627,7 +5943,7 @@ public ushort EventChar } } - /// Key pressed (Up/Down/TAB).
Read-only.
[Completion,History].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2086.
+ /// Key pressed (Up/Down/TAB).
Read-only.
[Completion,History].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2179.
public ImGuiKey EventKey { get @@ -5641,7 +5957,7 @@ public ImGuiKey EventKey } } - /// Text buffer.
Read-write.
[Resize] Can replace pointer / [Completion,History,Always] Only write to pointed data, don't replace the actual pointer!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2087.
+ /// Text buffer.
Read-write.
[Resize] Can replace pointer / [Completion,History,Always] Only write to pointed data, don't replace the actual pointer!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2180.
public char* Buf { get @@ -5655,7 +5971,7 @@ public char* Buf } } - /// Text length (in bytes).
Read-write.
[Resize,Completion,History,Always] Exclude zero-terminator storage. In C land: == strlen(some_text), in C++ land: string.length().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2088.
+ /// Text length (in bytes).
Read-write.
[Resize,Completion,History,Always] Exclude zero-terminator storage. In C land: == strlen(some_text), in C++ land: string.length().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2181.
public int BufTextLen { get @@ -5669,7 +5985,7 @@ public int BufTextLen } } - /// Buffer size (in bytes) = capacity+1.
Read-only.
[Resize,Completion,History,Always] Include zero-terminator storage. In C land == ARRAYSIZE(my_char_array), in C++ land: string.capacity()+1.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2089.
+ /// Buffer size (in bytes) = capacity+1.
Read-only.
[Resize,Completion,History,Always] Include zero-terminator storage. In C land == ARRAYSIZE(my_char_array), in C++ land: string.capacity()+1.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2182.
public int BufSize { get @@ -5683,7 +5999,7 @@ public int BufSize } } - /// Set if you modify Buf/BufTextLen!
Write.
[Completion,History,Always].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2090.
+ /// Set if you modify Buf/BufTextLen!
Write.
[Completion,History,Always].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2183.
public bool BufDirty { get @@ -5697,7 +6013,7 @@ public bool BufDirty } } - /// Read-write.
[Completion,History,Always].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2091.
+ /// Read-write.
[Completion,History,Always].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2184.
public int CursorPos { get @@ -5711,7 +6027,7 @@ public int CursorPos } } - /// Read-write.
[Completion,History,Always] == to SelectionEnd when no selection).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2092.
+ /// Read-write.
[Completion,History,Always] == to SelectionEnd when no selection).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2185.
public int SelectionStart { get @@ -5725,7 +6041,7 @@ public int SelectionStart } } - /// Read-write.
[Completion,History,Always].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2093.
+ /// Read-write.
[Completion,History,Always].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2186.
public int SelectionEnd { get @@ -5739,7 +6055,7 @@ public int SelectionEnd } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2102. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2195. public bool HasSelection { get @@ -5750,7 +6066,7 @@ public bool HasSelection } } - /// Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin().
NB: For basic min/max size constraint on each axis you don't need to use the callback! The SetNextWindowSizeConstraints() parameters are enough.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2107.
+ /// Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin().
NB: For basic min/max size constraint on each axis you don't need to use the callback! The SetNextWindowSizeConstraints() parameters are enough.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2200.
// DEBUG: struct ImGuiSizeCallbackData // DEBUG: { // DEBUG: void* UserData; // Read-only. What user passed to SetNextWindowSizeConstraints() @@ -5806,6 +6122,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiSize private protected bool __ownsNativeInstance; internal static ImGuiSizeCallbackData __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiSizeCallbackData(native.ToPointer(), skipVTables); } @@ -5846,7 +6164,7 @@ private protected ImGuiSizeCallbackData(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin().
NB: For basic min/max size constraint on each axis you don't need to use the callback! The SetNextWindowSizeConstraints() parameters are enough.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2107.
+ /// Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin().
NB: For basic min/max size constraint on each axis you don't need to use the callback! The SetNextWindowSizeConstraints() parameters are enough.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2200.
// DEBUG: ImGuiSizeCallbackData public ImGuiSizeCallbackData() { @@ -5863,7 +6181,7 @@ public ImGuiSizeCallbackData() } } - /// Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin().
NB: For basic min/max size constraint on each axis you don't need to use the callback! The SetNextWindowSizeConstraints() parameters are enough.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2107.
+ /// Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin().
NB: For basic min/max size constraint on each axis you don't need to use the callback! The SetNextWindowSizeConstraints() parameters are enough.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2200.
// DEBUG: ImGuiSizeCallbackData public ImGuiSizeCallbackData(ImGuiSizeCallbackData _0) { @@ -5908,7 +6226,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// Read-only.
What user passed to SetNextWindowSizeConstraints().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2109.
+ /// Read-only.
What user passed to SetNextWindowSizeConstraints().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2202.
public IntPtr UserData { get @@ -5922,7 +6240,7 @@ public IntPtr UserData } } - /// Read-only.
Window position, for reference.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2110.
+ /// Read-only.
Window position, for reference.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2203.
public Vector2 Pos { get @@ -5942,7 +6260,7 @@ public Vector2 Pos } } - /// Read-only.
Current window size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2111.
+ /// Read-only.
Current window size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2204.
public Vector2 CurrentSize { get @@ -5962,7 +6280,7 @@ public Vector2 CurrentSize } } - /// Read-write.
Desired size, based on user's mouse position. Write to this field to restrain resizing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2112.
+ /// Read-write.
Desired size, based on user's mouse position. Write to this field to restrain resizing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2205.
public Vector2 DesiredSize { get @@ -5983,127 +6301,92 @@ public Vector2 DesiredSize } } - /// Data payload for Drag and Drop operations: AcceptDragDropPayload(), GetDragDropPayload().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2116.
- // DEBUG: struct ImGuiPayload + /// [ALPHA] Rarely used / very advanced uses only. Use with SetNextWindowClass() and DockSpace() functions.
Important: the content of this class is still highly WIP and likely to change and be refactored.
Before we stabilize Docking features. Please be mindful if using this.
Provide hints:.
- To the platform backend via altered viewport flags (enable/disable OS decoration, OS task bar icons, etc.).
- To the platform backend for OS level parent/child relationships of viewport.
- To the docking system for various options and filtering.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2215.
+ // DEBUG: struct ImGuiWindowClass // DEBUG: { - // DEBUG: // Members - // DEBUG: void* Data; // Data (copied and owned by dear imgui) - // DEBUG: int DataSize; // Data size - // DEBUG: - // DEBUG: // [Internal] - // DEBUG: ImGuiID SourceId; // Source item id - // DEBUG: ImGuiID SourceParentId; // Source parent id (if available) - // DEBUG: int DataFrameCount; // Data timestamp - // DEBUG: char DataType[32 + 1]; // Data type tag (short user-supplied string, 32 characters max) - // DEBUG: bool Preview; // Set when AcceptDragDropPayload() was called and mouse has been hovering the target item (nb: handle overlapping drag targets) - // DEBUG: bool Delivery; // Set when AcceptDragDropPayload() was called and mouse button is released over the target item. + // DEBUG: ImGuiID ClassId; // User data. 0 = Default class (unclassed). Windows of different classes cannot be docked with each others. + // DEBUG: ImGuiID ParentViewportId; // Hint for the platform backend. -1: use default. 0: request platform backend to not parent the platform. != 0: request platform backend to create a parent<>child relationship between the platform windows. Not conforming backends are free to e.g. parent every viewport to the main viewport or not. + // DEBUG: ImGuiViewportFlags ViewportFlagsOverrideSet; // Viewport flags to set when a window of this class owns a viewport. This allows you to enforce OS decoration or task bar icon, override the defaults on a per-window basis. + // DEBUG: ImGuiViewportFlags ViewportFlagsOverrideClear; // Viewport flags to clear when a window of this class owns a viewport. This allows you to enforce OS decoration or task bar icon, override the defaults on a per-window basis. + // DEBUG: ImGuiTabItemFlags TabItemFlagsOverrideSet; // [EXPERIMENTAL] TabItem flags to set when a window of this class gets submitted into a dock node tab bar. May use with ImGuiTabItemFlags_Leading or ImGuiTabItemFlags_Trailing. + // DEBUG: ImGuiDockNodeFlags DockNodeFlagsOverrideSet; // [EXPERIMENTAL] Dock node flags to set when a window of this class is hosted by a dock node (it doesn't have to be selected!) + // DEBUG: bool DockingAlwaysTabBar; // Set to true to enforce single floating windows of this class always having their own docking node (equivalent of setting the global io.ConfigDockingAlwaysTabBar) + // DEBUG: bool DockingAllowUnclassed; // Set to true to allow windows of this class to be docked/merged with an unclassed window. // FIXME-DOCK: Move to DockNodeFlags override? // DEBUG: - // DEBUG: ImGuiPayload() { Clear(); } - // DEBUG: void Clear() { SourceId = SourceParentId = 0; Data = NULL; DataSize = 0; memset(DataType, 0, sizeof(DataType)); DataFrameCount = -1; Preview = Delivery = false; } - // DEBUG: bool IsDataType(const char* type) const { return DataFrameCount != -1 && strcmp(type, DataType) == 0; } - // DEBUG: bool IsPreview() const { return Preview; } - // DEBUG: bool IsDelivery() const { return Delivery; } + // DEBUG: ImGuiWindowClass() { memset(this, 0, sizeof(*this)); ParentViewportId = (ImGuiID)-1; DockingAllowUnclassed = true; } // DEBUG: } - public unsafe partial class ImGuiPayload : IDisposable + public unsafe partial class ImGuiWindowClass : IDisposable { [StructLayout(LayoutKind.Sequential)] internal partial struct __Internal { - internal IntPtr Data; - internal int DataSize; - internal uint SourceId; - internal uint SourceParentId; - internal int DataFrameCount; - internal fixed sbyte DataType[33]; - internal byte Preview; - internal byte Delivery; + internal uint ClassId; + internal uint ParentViewportId; + internal ImGuiViewportFlags ViewportFlagsOverrideSet; + internal ImGuiViewportFlags ViewportFlagsOverrideClear; + internal ImGuiTabItemFlags TabItemFlagsOverrideSet; + internal ImGuiDockNodeFlags DockNodeFlagsOverrideSet; + internal byte DockingAlwaysTabBar; + internal byte DockingAllowUnclassed; } private partial struct __Internal32 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiWindowClass@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiWindowClass@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?Clear@ImGuiPayload@@QAEXXZ", CallingConvention = CallingConvention.ThisCall)] - internal static extern void Clear(IntPtr __instance); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDataType@ImGuiPayload@@QBE_NPBD@Z", CallingConvention = CallingConvention.ThisCall)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool IsDataType(IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string type); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsPreview@ImGuiPayload@@QBE_NXZ", CallingConvention = CallingConvention.ThisCall)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool IsPreview(IntPtr __instance); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDelivery@ImGuiPayload@@QBE_NXZ", CallingConvention = CallingConvention.ThisCall)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool IsDelivery(IntPtr __instance); - } private partial struct __Internal64 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiWindowClass@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiWindowClass@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?Clear@ImGuiPayload@@QEAAXXZ", CallingConvention = CallingConvention.Cdecl)] - internal static extern void Clear(IntPtr __instance); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDataType@ImGuiPayload@@QEBA_NPEBD@Z", CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool IsDataType(IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string type); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsPreview@ImGuiPayload@@QEBA_NXZ", CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool IsPreview(IntPtr __instance); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDelivery@ImGuiPayload@@QEBA_NXZ", CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool IsDelivery(IntPtr __instance); - } internal IntPtr __Instance { get; set; } - internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiPayload managed) + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiWindowClass managed) { - NativeToManagedMap[native] = new WeakReference(managed); + NativeToManagedMap[native] = new WeakReference(managed); } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiPayload managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiWindowClass managed) { managed = default; return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); } private protected bool __ownsNativeInstance; - internal static ImGuiPayload __CreateInstance(IntPtr native, bool skipVTables = false) + internal static ImGuiWindowClass __CreateInstance(IntPtr native, bool skipVTables = false) { - return new ImGuiPayload(native.ToPointer(), skipVTables); + if (native == IntPtr.Zero) + return null; + return new ImGuiWindowClass(native.ToPointer(), skipVTables); } - internal static ImGuiPayload __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static ImGuiWindowClass __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (ImGuiPayload)managed; + return (ImGuiWindowClass)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static ImGuiPayload __CreateInstance(__Internal native, bool skipVTables = false) + internal static ImGuiWindowClass __CreateInstance(__Internal native, bool skipVTables = false) { - return new ImGuiPayload(native, skipVTables); + return new ImGuiWindowClass(native, skipVTables); } private static void* __CopyValue(__Internal native) @@ -6113,24 +6396,24 @@ internal static ImGuiPayload __CreateInstance(__Internal native, bool skipVTable return ret.ToPointer(); } - private ImGuiPayload(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + private ImGuiWindowClass(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - private protected ImGuiPayload(void* native, bool skipVTables = false) + private protected ImGuiWindowClass(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2130. - // DEBUG: ImGuiPayload() { Clear(); } - public ImGuiPayload() + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2226. + // DEBUG: ImGuiWindowClass() { memset(this, 0, sizeof(*this)); ParentViewportId = (ImGuiID)-1; DockingAllowUnclassed = true; } + public ImGuiWindowClass() { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPayload.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiWindowClass.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (Environment.Is64BitProcess) @@ -6143,11 +6426,11 @@ public ImGuiPayload() } } - /// Data payload for Drag and Drop operations: AcceptDragDropPayload(), GetDragDropPayload().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2116.
- // DEBUG: ImGuiPayload - public ImGuiPayload(ImGuiPayload _0) + /// [ALPHA] Rarely used / very advanced uses only. Use with SetNextWindowClass() and DockSpace() functions.
Important: the content of this class is still highly WIP and likely to change and be refactored.
Before we stabilize Docking features. Please be mindful if using this.
Provide hints:.
- To the platform backend via altered viewport flags (enable/disable OS decoration, OS task bar icons, etc.).
- To the platform backend for OS level parent/child relationships of viewport.
- To the docking system for various options and filtering.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2215.
+ // DEBUG: ImGuiWindowClass + public ImGuiWindowClass(ImGuiWindowClass _0) { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPayload.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiWindowClass.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6164,7 +6447,7 @@ public ImGuiPayload(ImGuiPayload _0) } /// - ~ImGuiPayload() + ~ImGuiWindowClass() { Dispose(false, callNativeDtor: __ownsNativeInstance); } @@ -6188,241 +6471,242 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2131. - // DEBUG: void Clear() { SourceId = SourceParentId = 0; Data = NULL; DataSize = 0; memset(DataType, 0, sizeof(DataType)); DataFrameCount = -1; Preview = Delivery = false; } - public void Clear() + /// User data. 0 = Default class (unclassed). Windows of different classes cannot be docked with each others.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2217.
+ public uint ClassId { - if (Environment.Is64BitProcess) + get { - __Internal64.Clear(__Instance); + return ((__Internal*)__Instance)->ClassId; } - else + + set { - __Internal32.Clear(__Instance); + ((__Internal*)__Instance)->ClassId = value; } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2132. - // DEBUG: bool IsDataType(const char* type) const { return DataFrameCount != -1 && strcmp(type, DataType) == 0; } - public bool IsDataType(string type) - { - var ___ret = Environment.Is64BitProcess ? __Internal64.IsDataType(__Instance, type) : __Internal32.IsDataType(__Instance, type); - return ___ret; - } - - /// Data (copied and owned by dear imgui).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2119.
- public IntPtr Data + /// Hint for the platform backend. -1: use default. 0: request platform backend to not parent the platform. != 0: request platform backend to create a parent< >child relationship between the platform windows. Not conforming backends are free to e.g. parent every viewport to the main viewport or not.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2218.
+ public uint ParentViewportId { get { - return ((__Internal*)__Instance)->Data; + return ((__Internal*)__Instance)->ParentViewportId; } set { - ((__Internal*)__Instance)->Data = (IntPtr)value; + ((__Internal*)__Instance)->ParentViewportId = value; } } - /// Data size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2120.
- public int DataSize + /// Viewport flags to set when a window of this class owns a viewport. This allows you to enforce OS decoration or task bar icon, override the defaults on a per-window basis.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2219.
+ public ImGuiViewportFlags ViewportFlagsOverrideSet { get { - return ((__Internal*)__Instance)->DataSize; - } - - set - { - ((__Internal*)__Instance)->DataSize = value; - } - } - - /// Source item id.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2123.
- public uint SourceId - { - get - { - return ((__Internal*)__Instance)->SourceId; + return ((__Internal*)__Instance)->ViewportFlagsOverrideSet; } set { - ((__Internal*)__Instance)->SourceId = value; + ((__Internal*)__Instance)->ViewportFlagsOverrideSet = value; } } - /// Source parent id (if available).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2124.
- public uint SourceParentId + /// Viewport flags to clear when a window of this class owns a viewport. This allows you to enforce OS decoration or task bar icon, override the defaults on a per-window basis.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2220.
+ public ImGuiViewportFlags ViewportFlagsOverrideClear { get { - return ((__Internal*)__Instance)->SourceParentId; + return ((__Internal*)__Instance)->ViewportFlagsOverrideClear; } set { - ((__Internal*)__Instance)->SourceParentId = value; + ((__Internal*)__Instance)->ViewportFlagsOverrideClear = value; } } - /// Data timestamp.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2125.
- public int DataFrameCount + /// [EXPERIMENTAL] TabItem flags to set when a window of this class gets submitted into a dock node tab bar. May use with ImGuiTabItemFlags_Leading or ImGuiTabItemFlags_Trailing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2221.
+ public ImGuiTabItemFlags TabItemFlagsOverrideSet { get { - return ((__Internal*)__Instance)->DataFrameCount; + return ((__Internal*)__Instance)->TabItemFlagsOverrideSet; } set { - ((__Internal*)__Instance)->DataFrameCount = value; + ((__Internal*)__Instance)->TabItemFlagsOverrideSet = value; } } - /// Data type tag (short user-supplied string, 32 characters max).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2126.
- public Span DataType + /// [EXPERIMENTAL] Dock node flags to set when a window of this class is hosted by a dock node (it doesn't have to be selected!).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2222.
+ public ImGuiDockNodeFlags DockNodeFlagsOverrideSet { get { - return CppSharp.Runtime.MarshalUtil.GetCharArray(((__Internal*)__Instance)->DataType, 33); + return ((__Internal*)__Instance)->DockNodeFlagsOverrideSet; } set { - if (value != null) - { - for (int i = 0; i < 33; i++) - ((__Internal*)__Instance)->DataType[i] = Convert.ToSByte(value[i]); - } + ((__Internal*)__Instance)->DockNodeFlagsOverrideSet = value; } } - /// Set when AcceptDragDropPayload() was called and mouse has been hovering the target item (nb: handle overlapping drag targets).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2127.
- public bool Preview + /// Set to true to enforce single floating windows of this class always having their own docking node (equivalent of setting the global io.ConfigDockingAlwaysTabBar).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2223.
+ public bool DockingAlwaysTabBar { get { - return ((__Internal*)__Instance)->Preview != 0; + return ((__Internal*)__Instance)->DockingAlwaysTabBar != 0; } set { - ((__Internal*)__Instance)->Preview = (byte)(value ? 1 : 0); + ((__Internal*)__Instance)->DockingAlwaysTabBar = (byte)(value ? 1 : 0); } } - /// Set when AcceptDragDropPayload() was called and mouse button is released over the target item.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2128.
- public bool Delivery + /// Set to true to allow windows of this class to be docked/merged with an unclassed window.
FIXME-DOCK: Move to DockNodeFlags override?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2224.
+ public bool DockingAllowUnclassed { get { - return ((__Internal*)__Instance)->Delivery != 0; + return ((__Internal*)__Instance)->DockingAllowUnclassed != 0; } set { - ((__Internal*)__Instance)->Delivery = (byte)(value ? 1 : 0); - } - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2133. - public bool IsPreview - { - get - { - var ___ret = Environment.Is64BitProcess ? __Internal64.IsPreview(__Instance) : __Internal32.IsPreview(__Instance); - return ___ret; - } - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2134. - public bool IsDelivery - { - get - { - var ___ret = Environment.Is64BitProcess ? __Internal64.IsDelivery(__Instance) : __Internal32.IsDelivery(__Instance); - return ___ret; + ((__Internal*)__Instance)->DockingAllowUnclassed = (byte)(value ? 1 : 0); } } } - /// Sorting specification for one column of a table (sizeof == 12 bytes).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2138.
- // DEBUG: struct ImGuiTableColumnSortSpecs + /// Data payload for Drag and Drop operations: AcceptDragDropPayload(), GetDragDropPayload().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2230.
+ // DEBUG: struct ImGuiPayload // DEBUG: { - // DEBUG: ImGuiID ColumnUserID; // User id of the column (if specified by a TableSetupColumn() call) - // DEBUG: ImS16 ColumnIndex; // Index of the column - // DEBUG: ImS16 SortOrder; // Index within parent ImGuiTableSortSpecs (always stored in order starting from 0, tables sorted on a single criteria will always have a 0 here) - // DEBUG: ImGuiSortDirection SortDirection : 8; // ImGuiSortDirection_Ascending or ImGuiSortDirection_Descending (you can use this or SortSign, whichever is more convenient for your sort function) + // DEBUG: // Members + // DEBUG: void* Data; // Data (copied and owned by dear imgui) + // DEBUG: int DataSize; // Data size // DEBUG: - // DEBUG: ImGuiTableColumnSortSpecs() { memset(this, 0, sizeof(*this)); } + // DEBUG: // [Internal] + // DEBUG: ImGuiID SourceId; // Source item id + // DEBUG: ImGuiID SourceParentId; // Source parent id (if available) + // DEBUG: int DataFrameCount; // Data timestamp + // DEBUG: char DataType[32 + 1]; // Data type tag (short user-supplied string, 32 characters max) + // DEBUG: bool Preview; // Set when AcceptDragDropPayload() was called and mouse has been hovering the target item (nb: handle overlapping drag targets) + // DEBUG: bool Delivery; // Set when AcceptDragDropPayload() was called and mouse button is released over the target item. + // DEBUG: + // DEBUG: ImGuiPayload() { Clear(); } + // DEBUG: void Clear() { SourceId = SourceParentId = 0; Data = NULL; DataSize = 0; memset(DataType, 0, sizeof(DataType)); DataFrameCount = -1; Preview = Delivery = false; } + // DEBUG: bool IsDataType(const char* type) const { return DataFrameCount != -1 && strcmp(type, DataType) == 0; } + // DEBUG: bool IsPreview() const { return Preview; } + // DEBUG: bool IsDelivery() const { return Delivery; } // DEBUG: } - public unsafe partial class ImGuiTableColumnSortSpecs : IDisposable + public unsafe partial class ImGuiPayload : IDisposable { [StructLayout(LayoutKind.Sequential)] internal partial struct __Internal { - internal uint ColumnUserID; - internal short ColumnIndex; - internal short SortOrder; - internal ImGuiSortDirection SortDirection; + internal IntPtr Data; + internal int DataSize; + internal uint SourceId; + internal uint SourceParentId; + internal int DataFrameCount; + internal fixed sbyte DataType[33]; + internal byte Preview; + internal byte Delivery; } private partial struct __Internal32 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?Clear@ImGuiPayload@@QAEXXZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern void Clear(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDataType@ImGuiPayload@@QBE_NPBD@Z", CallingConvention = CallingConvention.ThisCall)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsDataType(IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string type); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsPreview@ImGuiPayload@@QBE_NXZ", CallingConvention = CallingConvention.ThisCall)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsPreview(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDelivery@ImGuiPayload@@QBE_NXZ", CallingConvention = CallingConvention.ThisCall)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsDelivery(IntPtr __instance); + } private partial struct __Internal64 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPayload@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?Clear@ImGuiPayload@@QEAAXXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void Clear(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDataType@ImGuiPayload@@QEBA_NPEBD@Z", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsDataType(IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string type); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsPreview@ImGuiPayload@@QEBA_NXZ", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsPreview(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsDelivery@ImGuiPayload@@QEBA_NXZ", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsDelivery(IntPtr __instance); + } internal IntPtr __Instance { get; set; } - internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiTableColumnSortSpecs managed) + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiPayload managed) { - NativeToManagedMap[native] = new WeakReference(managed); + NativeToManagedMap[native] = new WeakReference(managed); } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiTableColumnSortSpecs managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiPayload managed) { managed = default; return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); } private protected bool __ownsNativeInstance; - internal static ImGuiTableColumnSortSpecs __CreateInstance(IntPtr native, bool skipVTables = false) + internal static ImGuiPayload __CreateInstance(IntPtr native, bool skipVTables = false) { - return new ImGuiTableColumnSortSpecs(native.ToPointer(), skipVTables); + if (native == IntPtr.Zero) + return null; + return new ImGuiPayload(native.ToPointer(), skipVTables); } - internal static ImGuiTableColumnSortSpecs __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static ImGuiPayload __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (ImGuiTableColumnSortSpecs)managed; + return (ImGuiPayload)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static ImGuiTableColumnSortSpecs __CreateInstance(__Internal native, bool skipVTables = false) + internal static ImGuiPayload __CreateInstance(__Internal native, bool skipVTables = false) { - return new ImGuiTableColumnSortSpecs(native, skipVTables); + return new ImGuiPayload(native, skipVTables); } private static void* __CopyValue(__Internal native) @@ -6432,24 +6716,24 @@ internal static ImGuiTableColumnSortSpecs __CreateInstance(__Internal native, bo return ret.ToPointer(); } - private ImGuiTableColumnSortSpecs(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + private ImGuiPayload(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - private protected ImGuiTableColumnSortSpecs(void* native, bool skipVTables = false) + private protected ImGuiPayload(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2145. - // DEBUG: ImGuiTableColumnSortSpecs() { memset(this, 0, sizeof(*this)); } - public ImGuiTableColumnSortSpecs() + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2244. + // DEBUG: ImGuiPayload() { Clear(); } + public ImGuiPayload() { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableColumnSortSpecs.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPayload.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (Environment.Is64BitProcess) @@ -6462,11 +6746,11 @@ public ImGuiTableColumnSortSpecs() } } - /// Sorting specification for one column of a table (sizeof == 12 bytes).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2138.
- // DEBUG: ImGuiTableColumnSortSpecs - public ImGuiTableColumnSortSpecs(ImGuiTableColumnSortSpecs _0) + /// Data payload for Drag and Drop operations: AcceptDragDropPayload(), GetDragDropPayload().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2230.
+ // DEBUG: ImGuiPayload + public ImGuiPayload(ImGuiPayload _0) { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableColumnSortSpecs.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPayload.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6483,7 +6767,7 @@ public ImGuiTableColumnSortSpecs(ImGuiTableColumnSortSpecs _0) } /// - ~ImGuiTableColumnSortSpecs() + ~ImGuiPayload() { Dispose(false, callNativeDtor: __ownsNativeInstance); } @@ -6507,137 +6791,243 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// User id of the column (if specified by a TableSetupColumn() call).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2140.
- public uint ColumnUserID + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2245. + // DEBUG: void Clear() { SourceId = SourceParentId = 0; Data = NULL; DataSize = 0; memset(DataType, 0, sizeof(DataType)); DataFrameCount = -1; Preview = Delivery = false; } + public void Clear() + { + if (Environment.Is64BitProcess) + { + __Internal64.Clear(__Instance); + } + else + { + __Internal32.Clear(__Instance); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2246. + // DEBUG: bool IsDataType(const char* type) const { return DataFrameCount != -1 && strcmp(type, DataType) == 0; } + public bool IsDataType(string type) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.IsDataType(__Instance, type) : __Internal32.IsDataType(__Instance, type); + return ___ret; + } + + /// Data (copied and owned by dear imgui).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2233.
+ public IntPtr Data { get { - return ((__Internal*)__Instance)->ColumnUserID; + return ((__Internal*)__Instance)->Data; } set { - ((__Internal*)__Instance)->ColumnUserID = value; + ((__Internal*)__Instance)->Data = (IntPtr)value; } } - /// Index of the column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2141.
- public short ColumnIndex + /// Data size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2234.
+ public int DataSize { get { - return ((__Internal*)__Instance)->ColumnIndex; + return ((__Internal*)__Instance)->DataSize; } set { - ((__Internal*)__Instance)->ColumnIndex = value; + ((__Internal*)__Instance)->DataSize = value; } } - /// Index within parent ImGuiTableSortSpecs (always stored in order starting from 0, tables sorted on a single criteria will always have a 0 here).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2142.
- public short SortOrder + /// Source item id.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2237.
+ public uint SourceId { get { - return ((__Internal*)__Instance)->SortOrder; + return ((__Internal*)__Instance)->SourceId; } set { - ((__Internal*)__Instance)->SortOrder = value; + ((__Internal*)__Instance)->SourceId = value; } } - /// ImGuiSortDirection_Ascending or ImGuiSortDirection_Descending (you can use this or SortSign, whichever is more convenient for your sort function).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2143.
- public ImGuiSortDirection SortDirection + /// Source parent id (if available).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2238.
+ public uint SourceParentId { get { - return ((__Internal*)__Instance)->SortDirection; + return ((__Internal*)__Instance)->SourceParentId; } set { - ((__Internal*)__Instance)->SortDirection = value; + ((__Internal*)__Instance)->SourceParentId = value; } } - } - /// Sorting specifications for a table (often handling sort specs for a single column, occasionally more).
Obtained by calling TableGetSortSpecs().
When 'SpecsDirty == true' you can sort your data. It will be true with sorting specs have changed since last call, or the first time.
Make sure to set 'SpecsDirty = false' after sorting, else you may wastefully sort your data every frame!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2152.
- // DEBUG: struct ImGuiTableSortSpecs - // DEBUG: { - // DEBUG: const ImGuiTableColumnSortSpecs* Specs; // Pointer to sort spec array. - // DEBUG: int SpecsCount; // Sort spec count. Most often 1. May be > 1 when ImGuiTableFlags_SortMulti is enabled. May be == 0 when ImGuiTableFlags_SortTristate is enabled. - // DEBUG: bool SpecsDirty; // Set to true when specs have changed since last time! Use this to sort again, then clear the flag. - // DEBUG: - // DEBUG: ImGuiTableSortSpecs() { memset(this, 0, sizeof(*this)); } - // DEBUG: } - public unsafe partial class ImGuiTableSortSpecs : IDisposable - { - [StructLayout(LayoutKind.Sequential)] - internal partial struct __Internal + /// Data timestamp.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2239.
+ public int DataFrameCount { - internal IntPtr Specs; - internal int SpecsCount; - internal byte SpecsDirty; + get + { + return ((__Internal*)__Instance)->DataFrameCount; + } + + set + { + ((__Internal*)__Instance)->DataFrameCount = value; + } } - private partial struct __Internal32 + /// Data type tag (short user-supplied string, 32 characters max).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2240.
+ public Span DataType { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] - internal static extern IntPtr ctor(IntPtr __instance); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] - internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); + get + { + return CppSharp.Runtime.MarshalUtil.GetCharArray(((__Internal*)__Instance)->DataType, 33); + } + + set + { + if (value != null) + { + for (int i = 0; i < 33; i++) + ((__Internal*)__Instance)->DataType[i] = Convert.ToSByte(value[i]); + } + } + } + + /// Set when AcceptDragDropPayload() was called and mouse has been hovering the target item (nb: handle overlapping drag targets).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2241.
+ public bool Preview + { + get + { + return ((__Internal*)__Instance)->Preview != 0; + } + + set + { + ((__Internal*)__Instance)->Preview = (byte)(value ? 1 : 0); + } + } + + /// Set when AcceptDragDropPayload() was called and mouse button is released over the target item.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2242.
+ public bool Delivery + { + get + { + return ((__Internal*)__Instance)->Delivery != 0; + } + + set + { + ((__Internal*)__Instance)->Delivery = (byte)(value ? 1 : 0); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2247. + public bool IsPreview + { + get + { + var ___ret = Environment.Is64BitProcess ? __Internal64.IsPreview(__Instance) : __Internal32.IsPreview(__Instance); + return ___ret; + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2248. + public bool IsDelivery + { + get + { + var ___ret = Environment.Is64BitProcess ? __Internal64.IsDelivery(__Instance) : __Internal32.IsDelivery(__Instance); + return ___ret; + } + } + } + + /// Sorting specification for one column of a table (sizeof == 12 bytes).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2252.
+ // DEBUG: struct ImGuiTableColumnSortSpecs + // DEBUG: { + // DEBUG: ImGuiID ColumnUserID; // User id of the column (if specified by a TableSetupColumn() call) + // DEBUG: ImS16 ColumnIndex; // Index of the column + // DEBUG: ImS16 SortOrder; // Index within parent ImGuiTableSortSpecs (always stored in order starting from 0, tables sorted on a single criteria will always have a 0 here) + // DEBUG: ImGuiSortDirection SortDirection : 8; // ImGuiSortDirection_Ascending or ImGuiSortDirection_Descending (you can use this or SortSign, whichever is more convenient for your sort function) + // DEBUG: + // DEBUG: ImGuiTableColumnSortSpecs() { memset(this, 0, sizeof(*this)); } + // DEBUG: } + public unsafe partial class ImGuiTableColumnSortSpecs : IDisposable + { + [StructLayout(LayoutKind.Sequential)] + internal partial struct __Internal + { + internal uint ColumnUserID; + internal short ColumnIndex; + internal short SortOrder; + internal ImGuiSortDirection SortDirection; + } + + private partial struct __Internal32 + { + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr ctor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); } private partial struct __Internal64 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableColumnSortSpecs@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); } internal IntPtr __Instance { get; set; } - internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiTableSortSpecs managed) + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiTableColumnSortSpecs managed) { - NativeToManagedMap[native] = new WeakReference(managed); + NativeToManagedMap[native] = new WeakReference(managed); } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiTableSortSpecs managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiTableColumnSortSpecs managed) { managed = default; return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); } private protected bool __ownsNativeInstance; - internal static ImGuiTableSortSpecs __CreateInstance(IntPtr native, bool skipVTables = false) + internal static ImGuiTableColumnSortSpecs __CreateInstance(IntPtr native, bool skipVTables = false) { - return new ImGuiTableSortSpecs(native.ToPointer(), skipVTables); + if (native == IntPtr.Zero) + return null; + return new ImGuiTableColumnSortSpecs(native.ToPointer(), skipVTables); } - internal static ImGuiTableSortSpecs __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static ImGuiTableColumnSortSpecs __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (ImGuiTableSortSpecs)managed; + return (ImGuiTableColumnSortSpecs)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static ImGuiTableSortSpecs __CreateInstance(__Internal native, bool skipVTables = false) + internal static ImGuiTableColumnSortSpecs __CreateInstance(__Internal native, bool skipVTables = false) { - return new ImGuiTableSortSpecs(native, skipVTables); + return new ImGuiTableColumnSortSpecs(native, skipVTables); } private static void* __CopyValue(__Internal native) @@ -6647,24 +7037,24 @@ internal static ImGuiTableSortSpecs __CreateInstance(__Internal native, bool ski return ret.ToPointer(); } - private ImGuiTableSortSpecs(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + private ImGuiTableColumnSortSpecs(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - private protected ImGuiTableSortSpecs(void* native, bool skipVTables = false) + private protected ImGuiTableColumnSortSpecs(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2158. - // DEBUG: ImGuiTableSortSpecs() { memset(this, 0, sizeof(*this)); } - public ImGuiTableSortSpecs() + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2259. + // DEBUG: ImGuiTableColumnSortSpecs() { memset(this, 0, sizeof(*this)); } + public ImGuiTableColumnSortSpecs() { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableSortSpecs.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableColumnSortSpecs.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (Environment.Is64BitProcess) @@ -6677,11 +7067,11 @@ public ImGuiTableSortSpecs() } } - /// Sorting specifications for a table (often handling sort specs for a single column, occasionally more).
Obtained by calling TableGetSortSpecs().
When 'SpecsDirty == true' you can sort your data. It will be true with sorting specs have changed since last call, or the first time.
Make sure to set 'SpecsDirty = false' after sorting, else you may wastefully sort your data every frame!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2152.
- // DEBUG: ImGuiTableSortSpecs - public ImGuiTableSortSpecs(ImGuiTableSortSpecs _0) + /// Sorting specification for one column of a table (sizeof == 12 bytes).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2252.
+ // DEBUG: ImGuiTableColumnSortSpecs + public ImGuiTableColumnSortSpecs(ImGuiTableColumnSortSpecs _0) { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableSortSpecs.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableColumnSortSpecs.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6698,7 +7088,7 @@ public ImGuiTableSortSpecs(ImGuiTableSortSpecs _0) } /// - ~ImGuiTableSortSpecs() + ~ImGuiTableColumnSortSpecs() { Dispose(false, callNativeDtor: __ownsNativeInstance); } @@ -6722,123 +7112,139 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// Pointer to sort spec array.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2154.
- public ImGuiTableColumnSortSpecs Specs + /// User id of the column (if specified by a TableSetupColumn() call).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2254.
+ public uint ColumnUserID { get { - var __result0 = ImGuiTableColumnSortSpecs.__GetOrCreateInstance(((__Internal*)__Instance)->Specs, false); - return __result0; + return ((__Internal*)__Instance)->ColumnUserID; + } + + set + { + ((__Internal*)__Instance)->ColumnUserID = value; } } - /// Sort spec count. Most often 1. May be > 1 when ImGuiTableFlags_SortMulti is enabled. May be == 0 when ImGuiTableFlags_SortTristate is enabled.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2155.
- public int SpecsCount + /// Index of the column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2255.
+ public short ColumnIndex { get { - return ((__Internal*)__Instance)->SpecsCount; + return ((__Internal*)__Instance)->ColumnIndex; } set { - ((__Internal*)__Instance)->SpecsCount = value; + ((__Internal*)__Instance)->ColumnIndex = value; } } - /// Set to true when specs have changed since last time! Use this to sort again, then clear the flag.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2156.
- public bool SpecsDirty + /// Index within parent ImGuiTableSortSpecs (always stored in order starting from 0, tables sorted on a single criteria will always have a 0 here).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2256.
+ public short SortOrder { get { - return ((__Internal*)__Instance)->SpecsDirty != 0; + return ((__Internal*)__Instance)->SortOrder; } set { - ((__Internal*)__Instance)->SpecsDirty = (byte)(value ? 1 : 0); + ((__Internal*)__Instance)->SortOrder = value; + } + } + + /// ImGuiSortDirection_Ascending or ImGuiSortDirection_Descending (you can use this or SortSign, whichever is more convenient for your sort function).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2257.
+ public ImGuiSortDirection SortDirection + { + get + { + return ((__Internal*)__Instance)->SortDirection; + } + + set + { + ((__Internal*)__Instance)->SortDirection = value; } } } - /// Helper: Execute a block of code at maximum once a frame. Convenient if you want to quickly create an UI within deep-nested code that runs multiple times every frame.
Usage: static ImGuiOnceUponAFrame oaf; if (oaf) ImGui::Text("This will be called only once per frame");.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2175.
- // DEBUG: struct ImGuiOnceUponAFrame + /// Sorting specifications for a table (often handling sort specs for a single column, occasionally more).
Obtained by calling TableGetSortSpecs().
When 'SpecsDirty == true' you can sort your data. It will be true with sorting specs have changed since last call, or the first time.
Make sure to set 'SpecsDirty = false' after sorting, else you may wastefully sort your data every frame!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2266.
+ // DEBUG: struct ImGuiTableSortSpecs // DEBUG: { - // DEBUG: ImGuiOnceUponAFrame() { RefFrame = -1; } - // DEBUG: mutable int RefFrame; - // DEBUG: operator bool() const { int current_frame = ImGui::GetFrameCount(); if (RefFrame == current_frame) return false; RefFrame = current_frame; return true; } + // DEBUG: const ImGuiTableColumnSortSpecs* Specs; // Pointer to sort spec array. + // DEBUG: int SpecsCount; // Sort spec count. Most often 1. May be > 1 when ImGuiTableFlags_SortMulti is enabled. May be == 0 when ImGuiTableFlags_SortTristate is enabled. + // DEBUG: bool SpecsDirty; // Set to true when specs have changed since last time! Use this to sort again, then clear the flag. + // DEBUG: + // DEBUG: ImGuiTableSortSpecs() { memset(this, 0, sizeof(*this)); } // DEBUG: } - public unsafe partial class ImGuiOnceUponAFrame : IDisposable + public unsafe partial class ImGuiTableSortSpecs : IDisposable { [StructLayout(LayoutKind.Sequential)] internal partial struct __Internal { - internal int RefFrame; + internal IntPtr Specs; + internal int SpecsCount; + internal byte SpecsDirty; } private partial struct __Internal32 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??BImGuiOnceUponAFrame@@QBE_NXZ", CallingConvention = CallingConvention.ThisCall)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool OperatorConversion(IntPtr __instance); - } private partial struct __Internal64 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiTableSortSpecs@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??BImGuiOnceUponAFrame@@QEBA_NXZ", CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - internal static extern bool OperatorConversion(IntPtr __instance); - } internal IntPtr __Instance { get; set; } - internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiOnceUponAFrame managed) + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiTableSortSpecs managed) { - NativeToManagedMap[native] = new WeakReference(managed); + NativeToManagedMap[native] = new WeakReference(managed); } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiOnceUponAFrame managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiTableSortSpecs managed) { managed = default; return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); } private protected bool __ownsNativeInstance; - internal static ImGuiOnceUponAFrame __CreateInstance(IntPtr native, bool skipVTables = false) + internal static ImGuiTableSortSpecs __CreateInstance(IntPtr native, bool skipVTables = false) { - return new ImGuiOnceUponAFrame(native.ToPointer(), skipVTables); + if (native == IntPtr.Zero) + return null; + return new ImGuiTableSortSpecs(native.ToPointer(), skipVTables); } - internal static ImGuiOnceUponAFrame __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static ImGuiTableSortSpecs __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (ImGuiOnceUponAFrame)managed; + return (ImGuiTableSortSpecs)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static ImGuiOnceUponAFrame __CreateInstance(__Internal native, bool skipVTables = false) + internal static ImGuiTableSortSpecs __CreateInstance(__Internal native, bool skipVTables = false) { - return new ImGuiOnceUponAFrame(native, skipVTables); + return new ImGuiTableSortSpecs(native, skipVTables); } private static void* __CopyValue(__Internal native) @@ -6848,24 +7254,24 @@ internal static ImGuiOnceUponAFrame __CreateInstance(__Internal native, bool ski return ret.ToPointer(); } - private ImGuiOnceUponAFrame(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + private ImGuiTableSortSpecs(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - private protected ImGuiOnceUponAFrame(void* native, bool skipVTables = false) + private protected ImGuiTableSortSpecs(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2177. - // DEBUG: ImGuiOnceUponAFrame() { RefFrame = -1; } - public ImGuiOnceUponAFrame() + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2272. + // DEBUG: ImGuiTableSortSpecs() { memset(this, 0, sizeof(*this)); } + public ImGuiTableSortSpecs() { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiOnceUponAFrame.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableSortSpecs.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (Environment.Is64BitProcess) @@ -6878,11 +7284,11 @@ public ImGuiOnceUponAFrame() } } - /// Helper: Execute a block of code at maximum once a frame. Convenient if you want to quickly create an UI within deep-nested code that runs multiple times every frame.
Usage: static ImGuiOnceUponAFrame oaf; if (oaf) ImGui::Text("This will be called only once per frame");.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2175.
- // DEBUG: ImGuiOnceUponAFrame - public ImGuiOnceUponAFrame(ImGuiOnceUponAFrame _0) + /// Sorting specifications for a table (often handling sort specs for a single column, occasionally more).
Obtained by calling TableGetSortSpecs().
When 'SpecsDirty == true' you can sort your data. It will be true with sorting specs have changed since last call, or the first time.
Make sure to set 'SpecsDirty = false' after sorting, else you may wastefully sort your data every frame!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2266.
+ // DEBUG: ImGuiTableSortSpecs + public ImGuiTableSortSpecs(ImGuiTableSortSpecs _0) { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiOnceUponAFrame.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiTableSortSpecs.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6899,7 +7305,7 @@ public ImGuiOnceUponAFrame(ImGuiOnceUponAFrame _0) } /// - ~ImGuiOnceUponAFrame() + ~ImGuiTableSortSpecs() { Dispose(false, callNativeDtor: __ownsNativeInstance); } @@ -6923,43 +7329,246 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2179. - // DEBUG: operator bool() const { int current_frame = ImGui::GetFrameCount(); if (RefFrame == current_frame) return false; RefFrame = current_frame; return true; } - public static implicit operator bool (ImGuiOnceUponAFrame __op) + /// Pointer to sort spec array.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2268.
+ public ImGuiTableColumnSortSpecs Specs { - if (ReferenceEquals(__op, null)) - throw new ArgumentNullException("__op", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = __op.__Instance; - var ___ret = Environment.Is64BitProcess ? __Internal64.OperatorConversion(__arg0) : __Internal32.OperatorConversion(__arg0); - return ___ret; + get + { + var __result0 = ImGuiTableColumnSortSpecs.__GetOrCreateInstance(((__Internal*)__Instance)->Specs, false); + return __result0; + } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2178. - public int RefFrame + /// Sort spec count. Most often 1. May be > 1 when ImGuiTableFlags_SortMulti is enabled. May be == 0 when ImGuiTableFlags_SortTristate is enabled.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2269.
+ public int SpecsCount { get { - return ((__Internal*)__Instance)->RefFrame; + return ((__Internal*)__Instance)->SpecsCount; } set { - ((__Internal*)__Instance)->RefFrame = value; + ((__Internal*)__Instance)->SpecsCount = value; } } - } - /// Helper: Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2183.
- // DEBUG: struct ImGuiTextFilter - // DEBUG: { - // DEBUG: IMGUI_API ImGuiTextFilter(const char* default_filter = ""); - // DEBUG: IMGUI_API bool Draw(const char* label = "Filter (inc,-exc)", float width = 0.0f); // Helper calling InputText+Build - // DEBUG: IMGUI_API bool PassFilter(const char* text, const char* text_end = NULL) const; - // DEBUG: IMGUI_API void Build(); - // DEBUG: void Clear() { InputBuf[0] = 0; Build(); } - // DEBUG: bool IsActive() const { return !Filters.empty(); } - // DEBUG: - // DEBUG: // [Internal] + /// Set to true when specs have changed since last time! Use this to sort again, then clear the flag.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2270.
+ public bool SpecsDirty + { + get + { + return ((__Internal*)__Instance)->SpecsDirty != 0; + } + + set + { + ((__Internal*)__Instance)->SpecsDirty = (byte)(value ? 1 : 0); + } + } + } + + /// Helper: Execute a block of code at maximum once a frame. Convenient if you want to quickly create an UI within deep-nested code that runs multiple times every frame.
Usage: static ImGuiOnceUponAFrame oaf; if (oaf) ImGui::Text("This will be called only once per frame");.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2289.
+ // DEBUG: struct ImGuiOnceUponAFrame + // DEBUG: { + // DEBUG: ImGuiOnceUponAFrame() { RefFrame = -1; } + // DEBUG: mutable int RefFrame; + // DEBUG: operator bool() const { int current_frame = ImGui::GetFrameCount(); if (RefFrame == current_frame) return false; RefFrame = current_frame; return true; } + // DEBUG: } + public unsafe partial class ImGuiOnceUponAFrame : IDisposable + { + [StructLayout(LayoutKind.Sequential)] + internal partial struct __Internal + { + internal int RefFrame; + } + + private partial struct __Internal32 + { + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr ctor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??BImGuiOnceUponAFrame@@QBE_NXZ", CallingConvention = CallingConvention.ThisCall)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool OperatorConversion(IntPtr __instance); + + } + + private partial struct __Internal64 + { + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr ctor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiOnceUponAFrame@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??BImGuiOnceUponAFrame@@QEBA_NXZ", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool OperatorConversion(IntPtr __instance); + + } + + internal IntPtr __Instance { get; set; } + + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiOnceUponAFrame managed) + { + NativeToManagedMap[native] = new WeakReference(managed); + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiOnceUponAFrame managed) + { + managed = default; + return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); + } + + private protected bool __ownsNativeInstance; + internal static ImGuiOnceUponAFrame __CreateInstance(IntPtr native, bool skipVTables = false) + { + if (native == IntPtr.Zero) + return null; + return new ImGuiOnceUponAFrame(native.ToPointer(), skipVTables); + } + + internal static ImGuiOnceUponAFrame __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ImGuiOnceUponAFrame)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ImGuiOnceUponAFrame __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ImGuiOnceUponAFrame(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__Internal*)ret = native; + return ret.ToPointer(); + } + + private ImGuiOnceUponAFrame(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + private protected ImGuiOnceUponAFrame(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new IntPtr(native); + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2291. + // DEBUG: ImGuiOnceUponAFrame() { RefFrame = -1; } + public ImGuiOnceUponAFrame() + { + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiOnceUponAFrame.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (Environment.Is64BitProcess) + { + __Internal64.ctor(__Instance); + } + else + { + __Internal32.ctor(__Instance); + } + } + + /// Helper: Execute a block of code at maximum once a frame. Convenient if you want to quickly create an UI within deep-nested code that runs multiple times every frame.
Usage: static ImGuiOnceUponAFrame oaf; if (oaf) ImGui::Text("This will be called only once per frame");.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2289.
+ // DEBUG: ImGuiOnceUponAFrame + public ImGuiOnceUponAFrame(ImGuiOnceUponAFrame _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiOnceUponAFrame.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + if (Environment.Is64BitProcess) + { + __Internal64.ctor(__Instance, __arg0); + } + else + { + __Internal32.ctor(__Instance, __arg0); + } + } + + /// + ~ImGuiOnceUponAFrame() + { + Dispose(false, callNativeDtor: __ownsNativeInstance); + } + + /// + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + GC.SuppressFinalize(this); + } + + partial void DisposePartial(bool disposing); + private protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2293. + // DEBUG: operator bool() const { int current_frame = ImGui::GetFrameCount(); if (RefFrame == current_frame) return false; RefFrame = current_frame; return true; } + public static implicit operator bool (ImGuiOnceUponAFrame __op) + { + if (ReferenceEquals(__op, null)) + throw new ArgumentNullException("__op", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = __op.__Instance; + var ___ret = Environment.Is64BitProcess ? __Internal64.OperatorConversion(__arg0) : __Internal32.OperatorConversion(__arg0); + return ___ret; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2292. + public int RefFrame + { + get + { + return ((__Internal*)__Instance)->RefFrame; + } + + set + { + ((__Internal*)__Instance)->RefFrame = value; + } + } + } + + /// Helper: Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2297.
+ // DEBUG: struct ImGuiTextFilter + // DEBUG: { + // DEBUG: IMGUI_API ImGuiTextFilter(const char* default_filter = ""); + // DEBUG: IMGUI_API bool Draw(const char* label = "Filter (inc,-exc)", float width = 0.0f); // Helper calling InputText+Build + // DEBUG: IMGUI_API bool PassFilter(const char* text, const char* text_end = NULL) const; + // DEBUG: IMGUI_API void Build(); + // DEBUG: void Clear() { InputBuf[0] = 0; Build(); } + // DEBUG: bool IsActive() const { return !Filters.empty(); } + // DEBUG: + // DEBUG: // [Internal] // DEBUG: struct ImGuiTextRange // DEBUG: { // DEBUG: const char* b; @@ -7046,7 +7655,7 @@ private partial struct __Internal64 } - /// [Internal].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2193.
+ /// [Internal].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2307.
// DEBUG: struct ImGuiTextRange // DEBUG: { // DEBUG: const char* b; @@ -7125,6 +7734,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiText private protected bool __ownsNativeInstance; internal static ImGuiTextRange __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiTextRange(native.ToPointer(), skipVTables); } @@ -7165,7 +7776,7 @@ private protected ImGuiTextRange(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2198. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2312. // DEBUG: ImGuiTextRange() { b = e = NULL; } public ImGuiTextRange() { @@ -7182,7 +7793,7 @@ public ImGuiTextRange() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2199. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2313. // DEBUG: ImGuiTextRange(const char* _b, const char* _e) { b = _b; e = _e; } public ImGuiTextRange(string _b, string _e) { @@ -7199,7 +7810,7 @@ public ImGuiTextRange(string _b, string _e) } } - /// [Internal].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2193.
+ /// [Internal].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2307.
// DEBUG: ImGuiTextRange public ImGuiTextRange(ImGuiTextFilter.ImGuiTextRange _0) { @@ -7248,7 +7859,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2201. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2315. // DEBUG: void split(char separator, ImVector* out) const public void Split(char separator, ImVector @out) { @@ -7266,7 +7877,7 @@ public void Split(char separator, ImVector @out) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2195. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2309. public string B { get @@ -7293,7 +7904,7 @@ public string B } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2196. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2310. public string E { get @@ -7320,7 +7931,7 @@ public string E } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2200. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2314. public bool Empty { get @@ -7348,6 +7959,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiText private protected bool __ownsNativeInstance; internal static ImGuiTextFilter __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiTextFilter(native.ToPointer(), skipVTables); } @@ -7388,7 +8001,7 @@ private protected ImGuiTextFilter(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2185. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2299. // DEBUG: ImGuiTextFilter(const char* default_filter = "") public ImGuiTextFilter(string default_filter = "") { @@ -7405,7 +8018,7 @@ public ImGuiTextFilter(string default_filter = "") } } - /// Helper: Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2183.
+ /// Helper: Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2297.
// DEBUG: ImGuiTextFilter public ImGuiTextFilter(ImGuiTextFilter _0) { @@ -7460,7 +8073,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// Helper calling InputText+Build.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2186.
+ /// Helper calling InputText+Build.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2300.
// DEBUG: bool Draw(const char* label = "Filter (inc,-exc)", float width = 0.0f) public bool Draw(string label = "Filter (inc,-exc)", float width = 0.0F) { @@ -7468,7 +8081,7 @@ public bool Draw(string label = "Filter (inc,-exc)", float width = 0.0F) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2187. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2301. // DEBUG: bool PassFilter(const char* text, const char* text_end = NULL) const public bool PassFilter(string text, string text_end = default) { @@ -7476,7 +8089,7 @@ public bool PassFilter(string text, string text_end = default) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2188. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2302. // DEBUG: void Build() public void Build() { @@ -7490,7 +8103,7 @@ public void Build() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2189. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2303. // DEBUG: void Clear() { InputBuf[0] = 0; Build(); } public void Clear() { @@ -7509,7 +8122,7 @@ public static implicit operator ImGuiTextFilter(string default_filter) return new ImGuiTextFilter(default_filter); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2203. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2317. public Span InputBuf { get @@ -7527,7 +8140,7 @@ public Span InputBuf } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2204. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2318. public ImVector Filters { get @@ -7538,7 +8151,7 @@ public ImVector Filters } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2205. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2319. public int CountGrep { get @@ -7552,7 +8165,7 @@ public int CountGrep } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2190. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2304. public bool IsActive { get @@ -7563,7 +8176,7 @@ public bool IsActive } } - /// Helper: Growable text buffer for logging/accumulating text.
(this could be called 'ImGuiTextBuilder' / 'ImGuiStringBuilder').
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2210.
+ /// Helper: Growable text buffer for logging/accumulating text.
(this could be called 'ImGuiTextBuilder' / 'ImGuiStringBuilder').
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2324.
// DEBUG: struct ImGuiTextBuffer // DEBUG: { // DEBUG: ImVector Buf; @@ -7701,6 +8314,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiText private protected bool __ownsNativeInstance; internal static ImGuiTextBuffer __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiTextBuffer(native.ToPointer(), skipVTables); } @@ -7741,7 +8356,7 @@ private protected ImGuiTextBuffer(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2215. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2329. // DEBUG: ImGuiTextBuffer() { } public ImGuiTextBuffer() { @@ -7758,7 +8373,7 @@ public ImGuiTextBuffer() } } - /// Helper: Growable text buffer for logging/accumulating text.
(this could be called 'ImGuiTextBuilder' / 'ImGuiStringBuilder').
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2210.
+ /// Helper: Growable text buffer for logging/accumulating text.
(this could be called 'ImGuiTextBuilder' / 'ImGuiStringBuilder').
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2324.
// DEBUG: ImGuiTextBuffer public ImGuiTextBuffer(ImGuiTextBuffer _0) { @@ -7813,7 +8428,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2217. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2331. // DEBUG: const char* begin() const { return Buf.Data ? &Buf.front() : EmptyString; } public string Begin() { @@ -7821,7 +8436,7 @@ public string Begin() return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); } - /// Buf is zero-terminated, so end() will point on the zero-terminator.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2218.
+ /// Buf is zero-terminated, so end() will point on the zero-terminator.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2332.
// DEBUG: const char* end() const { return Buf.Data ? &Buf.back() : EmptyString; } public string End() { @@ -7829,7 +8444,7 @@ public string End() return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2221. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2335. // DEBUG: void clear() { Buf.clear(); } public void Clear() { @@ -7843,7 +8458,7 @@ public void Clear() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2222. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2336. // DEBUG: void reserve(int capacity) { Buf.reserve(capacity); } public void Reserve(int capacity) { @@ -7857,7 +8472,7 @@ public void Reserve(int capacity) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2224. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2338. // DEBUG: void append(const char* str, const char* str_end = NULL) public void Append(string str, string str_end = default) { @@ -7871,7 +8486,7 @@ public void Append(string str, string str_end = default) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2225. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2339. // DEBUG: void appendf(const char* fmt, ...) IM_FMTARGS(2) public void Appendf(string fmt) { @@ -7885,7 +8500,7 @@ public void Appendf(string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2226. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2340. // DEBUG: void appendfv(const char* fmt, va_list args) IM_FMTLIST(2) public void Appendfv(string fmt, Object args) { @@ -7899,7 +8514,7 @@ public void Appendfv(string fmt, Object args) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2213. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2327. // DEBUG: static char EmptyString[1] public static Span EmptyString { @@ -7919,7 +8534,7 @@ public char this[int i] } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2212. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2326. public ImVector Buf { get @@ -7930,7 +8545,7 @@ public ImVector Buf } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2219. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2333. public int Size { get @@ -7940,7 +8555,7 @@ public int Size } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2220. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2334. public bool Empty { get @@ -7950,7 +8565,7 @@ public bool Empty } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2223. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2337. public string CStr { get @@ -7961,7 +8576,7 @@ public string CStr } } - /// Helper: Key->Value storage.
Typically you don't have to worry about this since a storage is held within each Window.
We use it to e.g. store collapse state for a tree (Int 0/1).
This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame).
You can use it as custom user storage for temporary values. Declare your own storage if, for example:.
- You want to manipulate the open/close state of a particular sub-tree in your interface (tree node uses Int 0/1 to store their state).
- You want to store custom debug data easily without adding or editing structures in your code (probably not efficient, but convenient).
Types are NOT stored, so it is up to you to make sure your Key don't collide with different types.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2237.
+ /// Helper: Key->Value storage.
Typically you don't have to worry about this since a storage is held within each Window.
We use it to e.g. store collapse state for a tree (Int 0/1).
This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame).
You can use it as custom user storage for temporary values. Declare your own storage if, for example:.
- You want to manipulate the open/close state of a particular sub-tree in your interface (tree node uses Int 0/1 to store their state).
- You want to store custom debug data easily without adding or editing structures in your code (probably not efficient, but convenient).
Types are NOT stored, so it is up to you to make sure your Key don't collide with different types.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2351.
// DEBUG: struct ImGuiStorage // DEBUG: { // DEBUG: // [Internal] @@ -8130,7 +8745,7 @@ private partial struct __Internal64 } - /// [Internal].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2240.
+ /// [Internal].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2354.
// DEBUG: struct ImGuiStoragePair // DEBUG: { // DEBUG: ImGuiID key; @@ -8203,6 +8818,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiStor private protected bool __ownsNativeInstance; internal static ImGuiStoragePair __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiStoragePair(native.ToPointer(), skipVTables); } @@ -8243,7 +8860,7 @@ private protected ImGuiStoragePair(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2244. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2358. // DEBUG: ImGuiStoragePair(ImGuiID _key, int _val_i) { key = _key; val_i = _val_i; } public ImGuiStoragePair(uint _key, int _val_i) { @@ -8260,7 +8877,7 @@ public ImGuiStoragePair(uint _key, int _val_i) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2245. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2359. // DEBUG: ImGuiStoragePair(ImGuiID _key, float _val_f) { key = _key; val_f = _val_f; } public ImGuiStoragePair(uint _key, float _val_f) { @@ -8277,7 +8894,7 @@ public ImGuiStoragePair(uint _key, float _val_f) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2246. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2360. // DEBUG: ImGuiStoragePair(ImGuiID _key, void* _val_p) { key = _key; val_p = _val_p; } public ImGuiStoragePair(uint _key, IntPtr _val_p) { @@ -8294,7 +8911,7 @@ public ImGuiStoragePair(uint _key, IntPtr _val_p) } } - /// [Internal].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2240.
+ /// [Internal].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2354.
// DEBUG: ImGuiStoragePair public ImGuiStoragePair(ImGuiStorage.ImGuiStoragePair _0) { @@ -8339,7 +8956,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2242. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2356. public uint Key { get @@ -8353,7 +8970,7 @@ public uint Key } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2243. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2357. public int ValI { get @@ -8367,7 +8984,7 @@ public int ValI } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2243. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2357. public float ValF { get @@ -8381,7 +8998,7 @@ public float ValF } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2243. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2357. public IntPtr ValP { get @@ -8413,6 +9030,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiStor private protected bool __ownsNativeInstance; internal static ImGuiStorage __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiStorage(native.ToPointer(), skipVTables); } @@ -8453,7 +9072,7 @@ private protected ImGuiStorage(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// Helper: Key->Value storage.
Typically you don't have to worry about this since a storage is held within each Window.
We use it to e.g. store collapse state for a tree (Int 0/1).
This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame).
You can use it as custom user storage for temporary values. Declare your own storage if, for example:.
- You want to manipulate the open/close state of a particular sub-tree in your interface (tree node uses Int 0/1 to store their state).
- You want to store custom debug data easily without adding or editing structures in your code (probably not efficient, but convenient).
Types are NOT stored, so it is up to you to make sure your Key don't collide with different types.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2237.
+ /// Helper: Key->Value storage.
Typically you don't have to worry about this since a storage is held within each Window.
We use it to e.g. store collapse state for a tree (Int 0/1).
This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame).
You can use it as custom user storage for temporary values. Declare your own storage if, for example:.
- You want to manipulate the open/close state of a particular sub-tree in your interface (tree node uses Int 0/1 to store their state).
- You want to store custom debug data easily without adding or editing structures in your code (probably not efficient, but convenient).
Types are NOT stored, so it is up to you to make sure your Key don't collide with different types.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2351.
// DEBUG: ImGuiStorage public ImGuiStorage(ImGuiStorage _0) { @@ -8473,7 +9092,7 @@ public ImGuiStorage(ImGuiStorage _0) } } - /// Helper: Key->Value storage.
Typically you don't have to worry about this since a storage is held within each Window.
We use it to e.g. store collapse state for a tree (Int 0/1).
This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame).
You can use it as custom user storage for temporary values. Declare your own storage if, for example:.
- You want to manipulate the open/close state of a particular sub-tree in your interface (tree node uses Int 0/1 to store their state).
- You want to store custom debug data easily without adding or editing structures in your code (probably not efficient, but convenient).
Types are NOT stored, so it is up to you to make sure your Key don't collide with different types.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2237.
+ /// Helper: Key->Value storage.
Typically you don't have to worry about this since a storage is held within each Window.
We use it to e.g. store collapse state for a tree (Int 0/1).
This is optimized for efficient lookup (dichotomy into a contiguous buffer) and rare insertion (typically tied to user interactions aka max once a frame).
You can use it as custom user storage for temporary values. Declare your own storage if, for example:.
- You want to manipulate the open/close state of a particular sub-tree in your interface (tree node uses Int 0/1 to store their state).
- You want to store custom debug data easily without adding or editing structures in your code (probably not efficient, but convenient).
Types are NOT stored, so it is up to you to make sure your Key don't collide with different types.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2351.
// DEBUG: ImGuiStorage public ImGuiStorage() { @@ -8525,7 +9144,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// - Get***() functions find pair, never add/allocate. Pairs are sorted so a query is O(log N).
- Set***() functions find pair, insertion on demand if missing.
- Sorted insertion is costly, paid once. A typical frame shouldn't need to insert any new pair.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2254.
+ /// - Get***() functions find pair, never add/allocate. Pairs are sorted so a query is O(log N).
- Set***() functions find pair, insertion on demand if missing.
- Sorted insertion is costly, paid once. A typical frame shouldn't need to insert any new pair.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2368.
// DEBUG: void Clear() { Data.clear(); } public void Clear() { @@ -8539,7 +9158,7 @@ public void Clear() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2255. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2369. // DEBUG: int GetInt(ImGuiID key, int default_val = 0) const public int GetInt(uint key, int default_val = (int)(0)) { @@ -8547,7 +9166,7 @@ public int GetInt(uint key, int default_val = (int)(0)) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2256. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2370. // DEBUG: void SetInt(ImGuiID key, int val) public void SetInt(uint key, int val) { @@ -8561,7 +9180,7 @@ public void SetInt(uint key, int val) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2257. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2371. // DEBUG: bool GetBool(ImGuiID key, bool default_val = false) const public bool GetBool(uint key, bool default_val = false) { @@ -8569,7 +9188,7 @@ public bool GetBool(uint key, bool default_val = false) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2258. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2372. // DEBUG: void SetBool(ImGuiID key, bool val) public void SetBool(uint key, bool val) { @@ -8583,7 +9202,7 @@ public void SetBool(uint key, bool val) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2259. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2373. // DEBUG: float GetFloat(ImGuiID key, float default_val = 0.0f) const public float GetFloat(uint key, float default_val = 0.0F) { @@ -8591,7 +9210,7 @@ public float GetFloat(uint key, float default_val = 0.0F) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2260. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2374. // DEBUG: void SetFloat(ImGuiID key, float val) public void SetFloat(uint key, float val) { @@ -8605,7 +9224,7 @@ public void SetFloat(uint key, float val) } } - /// Default_val is NULL.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2261.
+ /// Default_val is NULL.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2375.
// DEBUG: void* GetVoidPtr(ImGuiID key) const public IntPtr GetVoidPtr(uint key) { @@ -8613,7 +9232,7 @@ public IntPtr GetVoidPtr(uint key) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2262. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2376. // DEBUG: void SetVoidPtr(ImGuiID key, void* val) public void SetVoidPtr(uint key, IntPtr val) { @@ -8627,7 +9246,7 @@ public void SetVoidPtr(uint key, IntPtr val) } } - /// - Get***Ref() functions finds pair, insert on demand if missing, return pointer. Useful if you intend to do Get+Set.
- References are only valid until a new value is added to the storage. Calling a Set***() function or a Get***Ref() function invalidates the pointer.
- A typical use case where this is convenient for quick hacking (e.g. add storage during a live Edit&Continue session if you can't modify existing struct).
Float* pvar = ImGui::GetFloatRef(key); ImGui::SliderFloat("var", pvar, 0, 100.0f); some_var += *pvar;.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2268.
+ /// - Get***Ref() functions finds pair, insert on demand if missing, return pointer. Useful if you intend to do Get+Set.
- References are only valid until a new value is added to the storage. Calling a Set***() function or a Get***Ref() function invalidates the pointer.
- A typical use case where this is convenient for quick hacking (e.g. add storage during a live Edit&Continue session if you can't modify existing struct).
Float* pvar = ImGui::GetFloatRef(key); ImGui::SliderFloat("var", pvar, 0, 100.0f); some_var += *pvar;.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2382.
// DEBUG: int* GetIntRef(ImGuiID key, int default_val = 0) public int* GetIntRef(uint key, int default_val = (int)(0)) { @@ -8635,7 +9254,7 @@ public void SetVoidPtr(uint key, IntPtr val) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2269. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2383. // DEBUG: bool* GetBoolRef(ImGuiID key, bool default_val = false) public bool* GetBoolRef(uint key, bool default_val = false) { @@ -8643,7 +9262,7 @@ public void SetVoidPtr(uint key, IntPtr val) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2270. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2384. // DEBUG: float* GetFloatRef(ImGuiID key, float default_val = 0.0f) public float* GetFloatRef(uint key, float default_val = 0.0F) { @@ -8651,7 +9270,7 @@ public void SetVoidPtr(uint key, IntPtr val) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2271. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2385. // DEBUG: void** GetVoidPtrRef(ImGuiID key, void* default_val = NULL) public IntPtr* GetVoidPtrRef(uint key, IntPtr default_val = default) { @@ -8659,7 +9278,7 @@ public void SetVoidPtr(uint key, IntPtr val) return ___ret; } - /// Use on your own storage if you know only integer are being stored (open/close all tree nodes).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2274.
+ /// Use on your own storage if you know only integer are being stored (open/close all tree nodes).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2388.
// DEBUG: void SetAllInt(int val) public void SetAllInt(int val) { @@ -8673,7 +9292,7 @@ public void SetAllInt(int val) } } - /// For quicker full rebuild of a storage (instead of an incremental one), you may add all your contents and then sort once.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2277.
+ /// For quicker full rebuild of a storage (instead of an incremental one), you may add all your contents and then sort once.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2391.
// DEBUG: void BuildSortByKey() public void BuildSortByKey() { @@ -8687,7 +9306,7 @@ public void BuildSortByKey() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2249. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2363. public ImVector Data { get @@ -8699,7 +9318,7 @@ public ImVector Data } } - /// Helper: Manually clip large list of items.
If you have lots evenly spaced items and you have a random access to the list, you can perform coarse.
Clipping based on visibility to only submit items that are in view.
The clipper calculates the range of visible items and advance the cursor to compensate for the non-visible items we have skipped.
(Dear ImGui already clip items based on their bounds but: it needs to first layout the item to do so, and generally.
Fetching/submitting your own data incurs additional cost. Coarse clipping using ImGuiListClipper allows you to easily.
Scale using lists with tens of thousands of items without a problem).
Usage:.
ImGuiListClipper clipper;.
Clipper.Begin(1000);, // We have 1000 elements, evenly spaced.
While (clipper.Step()).
For (int i = clipper.DisplayStart; i < clipper.DisplayEnd; i++).
ImGui::Text("line number %d", i);.
Generally what happens is:.
- Clipper lets you process the first element (DisplayStart = 0, DisplayEnd = 1) regardless of it being visible or not.
- User code submit that one element.
- Clipper can measure the height of the first element.
- Clipper calculate the actual range of elements to display based on the current clipping rectangle, position the cursor before the first visible element.
- User code submit visible elements.
- The clipper also handles various subtleties related to keyboard/gamepad navigation, wrapping etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2300.
+ /// Helper: Manually clip large list of items.
If you have lots evenly spaced items and you have a random access to the list, you can perform coarse.
Clipping based on visibility to only submit items that are in view.
The clipper calculates the range of visible items and advance the cursor to compensate for the non-visible items we have skipped.
(Dear ImGui already clip items based on their bounds but: it needs to first layout the item to do so, and generally.
Fetching/submitting your own data incurs additional cost. Coarse clipping using ImGuiListClipper allows you to easily.
Scale using lists with tens of thousands of items without a problem).
Usage:.
ImGuiListClipper clipper;.
Clipper.Begin(1000);, // We have 1000 elements, evenly spaced.
While (clipper.Step()).
For (int i = clipper.DisplayStart; i < clipper.DisplayEnd; i++).
ImGui::Text("line number %d", i);.
Generally what happens is:.
- Clipper lets you process the first element (DisplayStart = 0, DisplayEnd = 1) regardless of it being visible or not.
- User code submit that one element.
- Clipper can measure the height of the first element.
- Clipper calculate the actual range of elements to display based on the current clipping rectangle, position the cursor before the first visible element.
- User code submit visible elements.
- The clipper also handles various subtleties related to keyboard/gamepad navigation, wrapping etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2414.
// DEBUG: struct ImGuiListClipper // DEBUG: { // DEBUG: int DisplayStart; // First item to display, updated by each call to Step() @@ -8806,6 +9425,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiList private protected bool __ownsNativeInstance; internal static ImGuiListClipper __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiListClipper(native.ToPointer(), skipVTables); } @@ -8846,7 +9467,7 @@ private protected ImGuiListClipper(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// Items_count: Use INT_MAX if you don't know how many items you have (in which case the cursor won't be advanced in the final step).
Items_height: Use -1.0f to be calculated automatically on first step. Otherwise pass in the distance between your items, typically GetTextLineHeightWithSpacing() or GetFrameHeightWithSpacing().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2311.
+ /// Items_count: Use INT_MAX if you don't know how many items you have (in which case the cursor won't be advanced in the final step).
Items_height: Use -1.0f to be calculated automatically on first step. Otherwise pass in the distance between your items, typically GetTextLineHeightWithSpacing() or GetFrameHeightWithSpacing().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2425.
// DEBUG: ImGuiListClipper() public ImGuiListClipper() { @@ -8863,7 +9484,7 @@ public ImGuiListClipper() } } - /// Helper: Manually clip large list of items.
If you have lots evenly spaced items and you have a random access to the list, you can perform coarse.
Clipping based on visibility to only submit items that are in view.
The clipper calculates the range of visible items and advance the cursor to compensate for the non-visible items we have skipped.
(Dear ImGui already clip items based on their bounds but: it needs to first layout the item to do so, and generally.
Fetching/submitting your own data incurs additional cost. Coarse clipping using ImGuiListClipper allows you to easily.
Scale using lists with tens of thousands of items without a problem).
Usage:.
ImGuiListClipper clipper;.
Clipper.Begin(1000);, // We have 1000 elements, evenly spaced.
While (clipper.Step()).
For (int i = clipper.DisplayStart; i < clipper.DisplayEnd; i++).
ImGui::Text("line number %d", i);.
Generally what happens is:.
- Clipper lets you process the first element (DisplayStart = 0, DisplayEnd = 1) regardless of it being visible or not.
- User code submit that one element.
- Clipper can measure the height of the first element.
- Clipper calculate the actual range of elements to display based on the current clipping rectangle, position the cursor before the first visible element.
- User code submit visible elements.
- The clipper also handles various subtleties related to keyboard/gamepad navigation, wrapping etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2300.
+ /// Helper: Manually clip large list of items.
If you have lots evenly spaced items and you have a random access to the list, you can perform coarse.
Clipping based on visibility to only submit items that are in view.
The clipper calculates the range of visible items and advance the cursor to compensate for the non-visible items we have skipped.
(Dear ImGui already clip items based on their bounds but: it needs to first layout the item to do so, and generally.
Fetching/submitting your own data incurs additional cost. Coarse clipping using ImGuiListClipper allows you to easily.
Scale using lists with tens of thousands of items without a problem).
Usage:.
ImGuiListClipper clipper;.
Clipper.Begin(1000);, // We have 1000 elements, evenly spaced.
While (clipper.Step()).
For (int i = clipper.DisplayStart; i < clipper.DisplayEnd; i++).
ImGui::Text("line number %d", i);.
Generally what happens is:.
- Clipper lets you process the first element (DisplayStart = 0, DisplayEnd = 1) regardless of it being visible or not.
- User code submit that one element.
- Clipper can measure the height of the first element.
- Clipper calculate the actual range of elements to display based on the current clipping rectangle, position the cursor before the first visible element.
- User code submit visible elements.
- The clipper also handles various subtleties related to keyboard/gamepad navigation, wrapping etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2414.
// DEBUG: ImGuiListClipper public ImGuiListClipper(ImGuiListClipper _0) { @@ -8908,7 +9529,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2313. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2427. // DEBUG: void Begin(int items_count, float items_height = -1.0f) public void Begin(int items_count, float items_height = -1.0F) { @@ -8922,7 +9543,7 @@ public void Begin(int items_count, float items_height = -1.0F) } } - /// Automatically called on the last call of Step() that returns false.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2314.
+ /// Automatically called on the last call of Step() that returns false.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2428.
// DEBUG: void End() public void End() { @@ -8936,7 +9557,7 @@ public void End() } } - /// Item_max is exclusive e.g. use (42, 42+1) to make item 42 always visible BUT due to alignment/padding of certain items it is likely that an extra item may be included on either end of the display range.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2318.
+ /// Item_max is exclusive e.g. use (42, 42+1) to make item 42 always visible BUT due to alignment/padding of certain items it is likely that an extra item may be included on either end of the display range.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2432.
// DEBUG: void ForceDisplayRangeByIndices(int item_min, int item_max) public void ForceDisplayRangeByIndices(int item_min, int item_max) { @@ -8950,7 +9571,7 @@ public void ForceDisplayRangeByIndices(int item_min, int item_max) } } - /// First item to display, updated by each call to Step().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2302.
+ /// First item to display, updated by each call to Step().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2416.
public int DisplayStart { get @@ -8964,7 +9585,7 @@ public int DisplayStart } } - /// End of items to display (exclusive).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2303.
+ /// End of items to display (exclusive).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2417.
public int DisplayEnd { get @@ -8978,7 +9599,7 @@ public int DisplayEnd } } - /// [Internal] Number of items.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2304.
+ /// [Internal] Number of items.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2418.
public int ItemsCount { get @@ -8992,7 +9613,7 @@ public int ItemsCount } } - /// [Internal] Height of item after a first step and item submission can calculate it.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2305.
+ /// [Internal] Height of item after a first step and item submission can calculate it.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2419.
public float ItemsHeight { get @@ -9006,7 +9627,7 @@ public float ItemsHeight } } - /// [Internal] Cursor position at the time of Begin() or after table frozen rows are all processed.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2306.
+ /// [Internal] Cursor position at the time of Begin() or after table frozen rows are all processed.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2420.
public float StartPosY { get @@ -9020,7 +9641,7 @@ public float StartPosY } } - /// [Internal] Internal data.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2307.
+ /// [Internal] Internal data.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2421.
public IntPtr TempData { get @@ -9034,7 +9655,7 @@ public IntPtr TempData } } - /// Call until it returns false. The DisplayStart/DisplayEnd fields will be set and you can process/draw those items.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2315.
+ /// Call until it returns false. The DisplayStart/DisplayEnd fields will be set and you can process/draw those items.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2429.
public bool Step { get @@ -9045,7 +9666,7 @@ public bool Step } } - /// Typically, 1 command = 1 GPU draw call (unless command is a callback).
- VtxOffset: When 'io.BackendFlags & ImGuiBackendFlags_RendererHasVtxOffset' is enabled,.
This fields allow us to render meshes larger than 64K vertices while keeping 16-bit indices.
Backends made for <1.71. will typically ignore the VtxOffset fields.
- The ClipRect/TextureId/VtxOffset fields must be contiguous as we memcmp() them together (this is asserted for).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2400.
+ /// Typically, 1 command = 1 GPU draw call (unless command is a callback).
- VtxOffset: When 'io.BackendFlags & ImGuiBackendFlags_RendererHasVtxOffset' is enabled,.
This fields allow us to render meshes larger than 64K vertices while keeping 16-bit indices.
Backends made for <1.71. will typically ignore the VtxOffset fields.
- The ClipRect/TextureId/VtxOffset fields must be contiguous as we memcmp() them together (this is asserted for).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2514.
// DEBUG: struct ImDrawCmd // DEBUG: { // DEBUG: ImVec4 ClipRect; // 4*4 // Clipping rectangle (x1, y1, x2, y2). Subtract ImDrawData->DisplayPos to get clipping rectangle in "viewport" coordinates @@ -9117,7 +9738,7 @@ private ImDrawCmd(void* native, bool skipVTables = false) : this() __instance = *(ImDrawCmd.__Internal*)native; } - /// Typically, 1 command = 1 GPU draw call (unless command is a callback).
- VtxOffset: When 'io.BackendFlags & ImGuiBackendFlags_RendererHasVtxOffset' is enabled,.
This fields allow us to render meshes larger than 64K vertices while keeping 16-bit indices.
Backends made for <1.71. will typically ignore the VtxOffset fields.
- The ClipRect/TextureId/VtxOffset fields must be contiguous as we memcmp() them together (this is asserted for).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2400.
+ /// Typically, 1 command = 1 GPU draw call (unless command is a callback).
- VtxOffset: When 'io.BackendFlags & ImGuiBackendFlags_RendererHasVtxOffset' is enabled,.
This fields allow us to render meshes larger than 64K vertices while keeping 16-bit indices.
Backends made for <1.71. will typically ignore the VtxOffset fields.
- The ClipRect/TextureId/VtxOffset fields must be contiguous as we memcmp() them together (this is asserted for).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2514.
// DEBUG: ImDrawCmd public ImDrawCmd(ImDrawCmd _0) : this() { @@ -9136,7 +9757,7 @@ public ImDrawCmd(ImDrawCmd _0) : this() } } - /// 4-8.
User-provided texture ID. Set by user in ImfontAtlas::SetTexID() for fonts or passed to Image*() functions. Ignore if never using images or multiple fonts atlas.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2403.
+ /// 4-8.
User-provided texture ID. Set by user in ImfontAtlas::SetTexID() for fonts or passed to Image*() functions. Ignore if never using images or multiple fonts atlas.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2517.
public IntPtr TextureId { get @@ -9150,7 +9771,7 @@ public IntPtr TextureId } } - /// 4.
Start offset in vertex buffer. ImGuiBackendFlags_RendererHasVtxOffset: always 0, otherwise may be >0 to support meshes larger than 64K vertices with 16-bit indices.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2404.
+ /// 4.
Start offset in vertex buffer. ImGuiBackendFlags_RendererHasVtxOffset: always 0, otherwise may be >0 to support meshes larger than 64K vertices with 16-bit indices.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2518.
public uint VtxOffset { get @@ -9164,7 +9785,7 @@ public uint VtxOffset } } - /// 4.
Start offset in index buffer.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2405.
+ /// 4.
Start offset in index buffer.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2519.
public uint IdxOffset { get @@ -9178,7 +9799,7 @@ public uint IdxOffset } } - /// 4.
Number of indices (multiple of 3) to be rendered as triangles. Vertices are stored in the callee ImDrawList's vtx_buffer[] array, indices in idx_buffer[].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2406.
+ /// 4.
Number of indices (multiple of 3) to be rendered as triangles. Vertices are stored in the callee ImDrawList's vtx_buffer[] array, indices in idx_buffer[].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2520.
public uint ElemCount { get @@ -9192,7 +9813,7 @@ public uint ElemCount } } - /// 4-8.
If != NULL, call the function instead of rendering the vertices. clip_rect and texture_id will be set normally.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2407.
+ /// 4-8.
If != NULL, call the function instead of rendering the vertices. clip_rect and texture_id will be set normally.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2521.
public ImDrawCallback UserCallback { get @@ -9207,7 +9828,7 @@ public ImDrawCallback UserCallback } } - /// 4-8.
The draw callback code can access this.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2408.
+ /// 4-8.
The draw callback code can access this.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2522.
public IntPtr UserCallbackData { get @@ -9222,7 +9843,7 @@ public IntPtr UserCallbackData } } - /// [Internal] For use by ImDrawList.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2433.
+ /// [Internal] For use by ImDrawList.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2547.
// DEBUG: struct ImDrawCmdHeader // DEBUG: { // DEBUG: ImVec4 ClipRect; @@ -9276,6 +9897,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImDrawCmd private protected bool __ownsNativeInstance; internal static ImDrawCmdHeader __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImDrawCmdHeader(native.ToPointer(), skipVTables); } @@ -9316,7 +9939,7 @@ private protected ImDrawCmdHeader(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// [Internal] For use by ImDrawList.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2433.
+ /// [Internal] For use by ImDrawList.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2547.
// DEBUG: ImDrawCmdHeader public ImDrawCmdHeader(ImDrawCmdHeader _0) { @@ -9336,7 +9959,7 @@ public ImDrawCmdHeader(ImDrawCmdHeader _0) } } - /// [Internal] For use by ImDrawList.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2433.
+ /// [Internal] For use by ImDrawList.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2547.
// DEBUG: ImDrawCmdHeader public ImDrawCmdHeader() { @@ -9378,7 +10001,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2435. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2549. public Vector4 ClipRect { get @@ -9398,7 +10021,7 @@ public Vector4 ClipRect } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2436. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2550. public IntPtr TextureId { get @@ -9412,7 +10035,7 @@ public IntPtr TextureId } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2437. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2551. public uint VtxOffset { get @@ -9427,7 +10050,7 @@ public uint VtxOffset } } - /// [Internal] For use by ImDrawListSplitter.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2441.
+ /// [Internal] For use by ImDrawListSplitter.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2555.
// DEBUG: struct ImDrawChannel // DEBUG: { // DEBUG: ImVector _CmdBuffer; @@ -9485,6 +10108,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImDrawCha private protected bool __ownsNativeInstance; internal static ImDrawChannel __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImDrawChannel(native.ToPointer(), skipVTables); } @@ -9525,7 +10150,7 @@ private protected ImDrawChannel(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// [Internal] For use by ImDrawListSplitter.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2441.
+ /// [Internal] For use by ImDrawListSplitter.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2555.
// DEBUG: ImDrawChannel public ImDrawChannel(ImDrawChannel _0) { @@ -9545,7 +10170,7 @@ public ImDrawChannel(ImDrawChannel _0) } } - /// [Internal] For use by ImDrawListSplitter.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2441.
+ /// [Internal] For use by ImDrawListSplitter.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2555.
// DEBUG: ImDrawChannel public ImDrawChannel() { @@ -9597,7 +10222,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2443. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2557. public ImVector CmdBuffer { get @@ -9608,7 +10233,7 @@ public ImVector CmdBuffer } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2444. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2558. public ImVector IdxBuffer { get @@ -9620,7 +10245,7 @@ public ImVector IdxBuffer } } - /// Split/Merge functions are used to split the draw list into different layers which can be drawn into out of order.
This is used by the Columns/Tables API, so items of each column can be batched together in a same draw call.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2450.
+ /// Split/Merge functions are used to split the draw list into different layers which can be drawn into out of order.
This is used by the Columns/Tables API, so items of each column can be batched together in a same draw call.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2564.
// DEBUG: struct ImDrawListSplitter // DEBUG: { // DEBUG: int _Current; // Current channel number (0) @@ -9718,6 +10343,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImDrawLis private protected bool __ownsNativeInstance; internal static ImDrawListSplitter __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImDrawListSplitter(native.ToPointer(), skipVTables); } @@ -9766,7 +10393,7 @@ private protected ImDrawListSplitter(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2456. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2570. // DEBUG: inline ImDrawListSplitter() { memset(this, 0, sizeof(*this)); } public ImDrawListSplitter() { @@ -9783,7 +10410,7 @@ public ImDrawListSplitter() } } - /// Split/Merge functions are used to split the draw list into different layers which can be drawn into out of order.
This is used by the Columns/Tables API, so items of each column can be batched together in a same draw call.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2450.
+ /// Split/Merge functions are used to split the draw list into different layers which can be drawn into out of order.
This is used by the Columns/Tables API, so items of each column can be batched together in a same draw call.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2564.
// DEBUG: ImDrawListSplitter public ImDrawListSplitter(ImDrawListSplitter _0) { @@ -9838,7 +10465,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// Do not clear Channels[] so our allocations are reused next frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2458.
+ /// Do not clear Channels[] so our allocations are reused next frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2572.
// DEBUG: inline void Clear() { _Current = 0; _Count = 1; } public void Clear() { @@ -9852,7 +10479,7 @@ public void Clear() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2459. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2573. // DEBUG: void ClearFreeMemory() public void ClearFreeMemory() { @@ -9866,7 +10493,7 @@ public void ClearFreeMemory() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2460. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2574. // DEBUG: void Split(ImDrawList* draw_list, int count) public void Split(ImDrawList draw_list, int count) { @@ -9882,7 +10509,7 @@ public void Split(ImDrawList draw_list, int count) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2461. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2575. // DEBUG: void Merge(ImDrawList* draw_list) public void Merge(ImDrawList draw_list) { @@ -9898,7 +10525,7 @@ public void Merge(ImDrawList draw_list) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2462. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2576. // DEBUG: void SetCurrentChannel(ImDrawList* draw_list, int channel_idx) public void SetCurrentChannel(ImDrawList draw_list, int channel_idx) { @@ -9914,7 +10541,7 @@ public void SetCurrentChannel(ImDrawList draw_list, int channel_idx) } } - /// Current channel number (0).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2452.
+ /// Current channel number (0).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2566.
public int Current { get @@ -9928,7 +10555,7 @@ public int Current } } - /// Number of active channels (1+).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2453.
+ /// Number of active channels (1+).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2567.
public int Count { get @@ -9942,7 +10569,7 @@ public int Count } } - /// Draw channels (not resized down so _Count might be < Channels.Size).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2454.
+ /// Draw channels (not resized down so _Count might be < Channels.Size).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2568.
public ImVector Channels { get @@ -9954,7 +10581,7 @@ public ImVector Channels } } - /// Draw command list.
This is the low-level list of polygons that ImGui:: functions are filling. At the end of the frame,.
All command lists are passed to your ImGuiIO::RenderDrawListFn function for rendering.
Each dear imgui window contains its own ImDrawList. You can use ImGui::GetWindowDrawList() to.
Access the current window draw list and draw custom primitives.
You can interleave normal ImGui:: calls and adding primitives to the current draw list.
In single viewport mode, top-left is == GetMainViewport()->Pos (generally 0,0), bottom-right is == GetMainViewport()->Pos+Size (generally io.DisplaySize).
You are totally free to apply whatever transformation matrix to want to the data (depending on the use of the transformation you may want to apply it to ClipRect as well!).
Important: Primitives are always added to the list and not culled (culling is done at higher-level by ImGui:: functions), if you use this API a lot consider coarse culling your drawn objects.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2505.
+ /// Draw command list.
This is the low-level list of polygons that ImGui:: functions are filling. At the end of the frame,.
All command lists are passed to your ImGuiIO::RenderDrawListFn function for rendering.
Each dear imgui window contains its own ImDrawList. You can use ImGui::GetWindowDrawList() to.
Access the current window draw list and draw custom primitives.
You can interleave normal ImGui:: calls and adding primitives to the current draw list.
In single viewport mode, top-left is == GetMainViewport()->Pos (generally 0,0), bottom-right is == GetMainViewport()->Pos+Size (generally io.DisplaySize).
You are totally free to apply whatever transformation matrix to want to the data (depending on the use of the transformation you may want to apply it to ClipRect as well!).
Important: Primitives are always added to the list and not culled (culling is done at higher-level by ImGui:: functions), if you use this API a lot consider coarse culling your drawn objects.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2619.
// DEBUG: struct ImDrawList // DEBUG: { // DEBUG: // This is what you have to render @@ -10510,7 +11137,7 @@ private ImDrawList(void* native, bool skipVTables = false) : this() __instance = *(ImDrawList.__Internal*)native; } - /// If you want to create ImDrawList instances, pass them ImGui::GetDrawListSharedData() or create and use your own ImDrawListSharedData (so you can use ImDrawList without ImGui).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2527.
+ /// If you want to create ImDrawList instances, pass them ImGui::GetDrawListSharedData() or create and use your own ImDrawListSharedData (so you can use ImDrawList without ImGui).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2641.
// DEBUG: ImDrawList(const ImDrawListSharedData* shared_data) { memset(this, 0, sizeof(*this)); _Data = shared_data; } public ImDrawList(ImDrawListSharedData shared_data) : this() { @@ -10528,7 +11155,7 @@ public ImDrawList(ImDrawListSharedData shared_data) : this() } } - /// Draw command list.
This is the low-level list of polygons that ImGui:: functions are filling. At the end of the frame,.
All command lists are passed to your ImGuiIO::RenderDrawListFn function for rendering.
Each dear imgui window contains its own ImDrawList. You can use ImGui::GetWindowDrawList() to.
Access the current window draw list and draw custom primitives.
You can interleave normal ImGui:: calls and adding primitives to the current draw list.
In single viewport mode, top-left is == GetMainViewport()->Pos (generally 0,0), bottom-right is == GetMainViewport()->Pos+Size (generally io.DisplaySize).
You are totally free to apply whatever transformation matrix to want to the data (depending on the use of the transformation you may want to apply it to ClipRect as well!).
Important: Primitives are always added to the list and not culled (culling is done at higher-level by ImGui:: functions), if you use this API a lot consider coarse culling your drawn objects.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2505.
+ /// Draw command list.
This is the low-level list of polygons that ImGui:: functions are filling. At the end of the frame,.
All command lists are passed to your ImGuiIO::RenderDrawListFn function for rendering.
Each dear imgui window contains its own ImDrawList. You can use ImGui::GetWindowDrawList() to.
Access the current window draw list and draw custom primitives.
You can interleave normal ImGui:: calls and adding primitives to the current draw list.
In single viewport mode, top-left is == GetMainViewport()->Pos (generally 0,0), bottom-right is == GetMainViewport()->Pos+Size (generally io.DisplaySize).
You are totally free to apply whatever transformation matrix to want to the data (depending on the use of the transformation you may want to apply it to ClipRect as well!).
Important: Primitives are always added to the list and not culled (culling is done at higher-level by ImGui:: functions), if you use this API a lot consider coarse culling your drawn objects.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2619.
// DEBUG: ImDrawList public ImDrawList(ImDrawList _0) : this() { @@ -10547,7 +11174,7 @@ public ImDrawList(ImDrawList _0) : this() } } - /// Render-level scissoring. This is passed down to your render function but not used for CPU-side coarse clipping. Prefer using higher-level ImGui::PushClipRect() to affect logic (hit-testing and widget culling).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2530.
+ /// Render-level scissoring. This is passed down to your render function but not used for CPU-side coarse clipping. Prefer using higher-level ImGui::PushClipRect() to affect logic (hit-testing and widget culling).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2644.
// DEBUG: void PushClipRect(const ImVec2& clip_rect_min, const ImVec2& clip_rect_max, bool intersect_with_current_clip_rect = false) public void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, bool intersect_with_current_clip_rect = false) { @@ -10572,7 +11199,7 @@ public void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, bool inte } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2531. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2645. // DEBUG: void PushClipRectFullScreen() public void PushClipRectFullScreen() { @@ -10589,7 +11216,7 @@ public void PushClipRectFullScreen() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2532. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2646. // DEBUG: void PopClipRect() public void PopClipRect() { @@ -10606,7 +11233,7 @@ public void PopClipRect() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2533. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2647. // DEBUG: void PushTextureID(ImTextureID texture_id) public void PushTextureID(IntPtr texture_id) { @@ -10623,7 +11250,7 @@ public void PushTextureID(IntPtr texture_id) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2534. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2648. // DEBUG: void PopTextureID() public void PopTextureID() { @@ -10640,7 +11267,7 @@ public void PopTextureID() } } - /// Primitives.
- Filled shapes must always use clockwise winding order. The anti-aliasing fringe depends on it. Counter-clockwise shapes will have "inward" anti-aliasing.
- For rectangular primitives, "p_min" and "p_max" represent the upper-left and lower-right corners.
- For circle primitives, use "num_segments == 0" to automatically calculate tessellation (preferred).
In older versions (until Dear ImGui 1.77) the AddCircle functions defaulted to num_segments == 12.
In future versions we will use textures to provide cheaper and higher-quality circles.
Use AddNgon() and AddNgonFilled() functions if you need to guaranteed a specific number of sides.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2545.
+ /// Primitives.
- Filled shapes must always use clockwise winding order. The anti-aliasing fringe depends on it. Counter-clockwise shapes will have "inward" anti-aliasing.
- For rectangular primitives, "p_min" and "p_max" represent the upper-left and lower-right corners.
- For circle primitives, use "num_segments == 0" to automatically calculate tessellation (preferred).
In older versions (until Dear ImGui 1.77) the AddCircle functions defaulted to num_segments == 12.
In future versions we will use textures to provide cheaper and higher-quality circles.
Use AddNgon() and AddNgonFilled() functions if you need to guaranteed a specific number of sides.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2659.
// DEBUG: void AddLine(const ImVec2& p1, const ImVec2& p2, ImU32 col, float thickness = 1.0f) public void AddLine(Vector2 p1, Vector2 p2, uint col, float thickness = 1.0F) { @@ -10665,7 +11292,7 @@ public void AddLine(Vector2 p1, Vector2 p2, uint col, float thickness = 1.0F) } } - /// A: upper-left, b: lower-right (== upper-left + size).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2546.
+ /// A: upper-left, b: lower-right (== upper-left + size).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2660.
// DEBUG: void AddRect(const ImVec2& p_min, const ImVec2& p_max, ImU32 col, float rounding = 0.0f, ImDrawFlags flags = 0, float thickness = 1.0f) public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding = 0.0F, ImDrawFlags flags = (ImDrawFlags)(0), float thickness = 1.0F) { @@ -10690,7 +11317,7 @@ public void AddRect(Vector2 p_min, Vector2 p_max, uint col, float rounding = 0.0 } } - /// A: upper-left, b: lower-right (== upper-left + size).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2547.
+ /// A: upper-left, b: lower-right (== upper-left + size).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2661.
// DEBUG: void AddRectFilled(const ImVec2& p_min, const ImVec2& p_max, ImU32 col, float rounding = 0.0f, ImDrawFlags flags = 0) public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col, float rounding = 0.0F, ImDrawFlags flags = (ImDrawFlags)(0)) { @@ -10715,7 +11342,7 @@ public void AddRectFilled(Vector2 p_min, Vector2 p_max, uint col, float rounding } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2548. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2662. // DEBUG: void AddRectFilledMultiColor(const ImVec2& p_min, const ImVec2& p_max, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left) public void AddRectFilledMultiColor(Vector2 p_min, Vector2 p_max, uint col_upr_left, uint col_upr_right, uint col_bot_right, uint col_bot_left) { @@ -10740,7 +11367,7 @@ public void AddRectFilledMultiColor(Vector2 p_min, Vector2 p_max, uint col_upr_l } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2549. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2663. // DEBUG: void AddQuad(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col, float thickness = 1.0f) public void AddQuad(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness = 1.0F) { @@ -10773,7 +11400,7 @@ public void AddQuad(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, fl } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2550. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2664. // DEBUG: void AddQuadFilled(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col) public void AddQuadFilled(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col) { @@ -10806,7 +11433,7 @@ public void AddQuadFilled(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint c } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2551. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2665. // DEBUG: void AddTriangle(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, ImU32 col, float thickness = 1.0f) public void AddTriangle(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness = 1.0F) { @@ -10835,7 +11462,7 @@ public void AddTriangle(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thic } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2552. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2666. // DEBUG: void AddTriangleFilled(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, ImU32 col) public void AddTriangleFilled(Vector2 p1, Vector2 p2, Vector2 p3, uint col) { @@ -10864,7 +11491,7 @@ public void AddTriangleFilled(Vector2 p1, Vector2 p2, Vector2 p3, uint col) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2553. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2667. // DEBUG: void AddCircle(const ImVec2& center, float radius, ImU32 col, int num_segments = 0, float thickness = 1.0f) public void AddCircle(Vector2 center, float radius, uint col, int num_segments = (int)(0), float thickness = 1.0F) { @@ -10885,7 +11512,7 @@ public void AddCircle(Vector2 center, float radius, uint col, int num_segments = } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2554. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2668. // DEBUG: void AddCircleFilled(const ImVec2& center, float radius, ImU32 col, int num_segments = 0) public void AddCircleFilled(Vector2 center, float radius, uint col, int num_segments = (int)(0)) { @@ -10906,7 +11533,7 @@ public void AddCircleFilled(Vector2 center, float radius, uint col, int num_segm } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2555. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2669. // DEBUG: void AddNgon(const ImVec2& center, float radius, ImU32 col, int num_segments, float thickness = 1.0f) public void AddNgon(Vector2 center, float radius, uint col, int num_segments, float thickness = 1.0F) { @@ -10927,7 +11554,7 @@ public void AddNgon(Vector2 center, float radius, uint col, int num_segments, fl } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2556. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2670. // DEBUG: void AddNgonFilled(const ImVec2& center, float radius, ImU32 col, int num_segments) public void AddNgonFilled(Vector2 center, float radius, uint col, int num_segments) { @@ -10948,7 +11575,7 @@ public void AddNgonFilled(Vector2 center, float radius, uint col, int num_segmen } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2557. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2671. // DEBUG: void AddText(const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL) public void AddText(Vector2 pos, uint col, string text_begin, string text_end = default) { @@ -10969,7 +11596,7 @@ public void AddText(Vector2 pos, uint col, string text_begin, string text_end = } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2558. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2672. // DEBUG: void AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end = NULL, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = NULL) public void AddText(ImFont font, float font_size, Vector2 pos, uint col, string text_begin, string text_end = default, float wrap_width = 0.0F, Vector4 cpu_fine_clip_rect = default) { @@ -10995,7 +11622,7 @@ public void AddText(ImFont font, float font_size, Vector2 pos, uint col, string } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2559. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2673. // DEBUG: void AddPolyline(const ImVec2* points, int num_points, ImU32 col, ImDrawFlags flags, float thickness) public void AddPolyline(Vector2 points, int num_points, uint col, ImDrawFlags flags, float thickness) { @@ -11016,7 +11643,7 @@ public void AddPolyline(Vector2 points, int num_points, uint col, ImDrawFlags fl } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2560. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2674. // DEBUG: void AddConvexPolyFilled(const ImVec2* points, int num_points, ImU32 col) public void AddConvexPolyFilled(Vector2 points, int num_points, uint col) { @@ -11037,7 +11664,7 @@ public void AddConvexPolyFilled(Vector2 points, int num_points, uint col) } } - /// Cubic Bezier (4 control points).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2561.
+ /// Cubic Bezier (4 control points).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2675.
// DEBUG: void AddBezierCubic(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, ImU32 col, float thickness, int num_segments = 0) public void AddBezierCubic(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint col, float thickness, int num_segments = (int)(0)) { @@ -11070,7 +11697,7 @@ public void AddBezierCubic(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, uint } } - /// Quadratic Bezier (3 control points).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2562.
+ /// Quadratic Bezier (3 control points).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2676.
// DEBUG: void AddBezierQuadratic(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, ImU32 col, float thickness, int num_segments = 0) public void AddBezierQuadratic(Vector2 p1, Vector2 p2, Vector2 p3, uint col, float thickness, int num_segments = (int)(0)) { @@ -11099,7 +11726,7 @@ public void AddBezierQuadratic(Vector2 p1, Vector2 p2, Vector2 p3, uint col, flo } } - /// Image primitives.
- Read FAQ to understand what ImTextureID is.
- "p_min" and "p_max" represent the upper-left and lower-right corners of the rectangle.
- "uv_min" and "uv_max" represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2568.
+ /// Image primitives.
- Read FAQ to understand what ImTextureID is.
- "p_min" and "p_max" represent the upper-left and lower-right corners of the rectangle.
- "uv_min" and "uv_max" represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2682.
// DEBUG: void AddImage(ImTextureID user_texture_id, const ImVec2& p_min, const ImVec2& p_max, const ImVec2& uv_min = ImVec2(0, 0), const ImVec2& uv_max = ImVec2(1, 1), ImU32 col = IM_COL32_WHITE) public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col = (uint)(4294967295)) { @@ -11132,7 +11759,7 @@ public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vecto } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2569. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2683. // DEBUG: void AddImageQuad(ImTextureID user_texture_id, const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, const ImVec2& uv1 = ImVec2(0, 0), const ImVec2& uv2 = ImVec2(1, 0), const ImVec2& uv3 = ImVec2(1, 1), const ImVec2& uv4 = ImVec2(0, 1), ImU32 col = IM_COL32_WHITE) public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3, Vector2 uv4, uint col = (uint)(4294967295)) { @@ -11181,7 +11808,7 @@ public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2570. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2684. // DEBUG: void AddImageRounded(ImTextureID user_texture_id, const ImVec2& p_min, const ImVec2& p_max, const ImVec2& uv_min, const ImVec2& uv_max, ImU32 col, float rounding, ImDrawFlags flags = 0) public void AddImageRounded(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min, Vector2 uv_max, uint col, float rounding, ImDrawFlags flags = (ImDrawFlags)(0)) { @@ -11214,7 +11841,7 @@ public void AddImageRounded(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max } } - /// Stateful path API, add points then finish with PathFillConvex() or PathStroke().
- Filled shapes must always use clockwise winding order. The anti-aliasing fringe depends on it. Counter-clockwise shapes will have "inward" anti-aliasing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2574.
+ /// Stateful path API, add points then finish with PathFillConvex() or PathStroke().
- Filled shapes must always use clockwise winding order. The anti-aliasing fringe depends on it. Counter-clockwise shapes will have "inward" anti-aliasing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2688.
// DEBUG: inline void PathClear() { _Path.Size = 0; } public void PathClear() { @@ -11231,7 +11858,7 @@ public void PathClear() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2575. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2689. // DEBUG: inline void PathLineTo(const ImVec2& pos) { _Path.push_back(pos); } public void PathLineTo(Vector2 pos) { @@ -11252,7 +11879,7 @@ public void PathLineTo(Vector2 pos) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2576. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2690. // DEBUG: inline void PathLineToMergeDuplicate(const ImVec2& pos) { if (_Path.Size == 0 || memcmp(&_Path.Data[_Path.Size - 1], &pos, 8) != 0) _Path.push_back(pos); } public void PathLineToMergeDuplicate(Vector2 pos) { @@ -11273,7 +11900,7 @@ public void PathLineToMergeDuplicate(Vector2 pos) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2577. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2691. // DEBUG: inline void PathFillConvex(ImU32 col) { AddConvexPolyFilled(_Path.Data, _Path.Size, col); _Path.Size = 0; } public void PathFillConvex(uint col) { @@ -11290,7 +11917,7 @@ public void PathFillConvex(uint col) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2578. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2692. // DEBUG: inline void PathStroke(ImU32 col, ImDrawFlags flags = 0, float thickness = 1.0f) { AddPolyline(_Path.Data, _Path.Size, col, flags, thickness); _Path.Size = 0; } public void PathStroke(uint col, ImDrawFlags flags = (ImDrawFlags)(0), float thickness = 1.0F) { @@ -11307,7 +11934,7 @@ public void PathStroke(uint col, ImDrawFlags flags = (ImDrawFlags)(0), float thi } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2579. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2693. // DEBUG: void PathArcTo(const ImVec2& center, float radius, float a_min, float a_max, int num_segments = 0) public void PathArcTo(Vector2 center, float radius, float a_min, float a_max, int num_segments = (int)(0)) { @@ -11328,7 +11955,7 @@ public void PathArcTo(Vector2 center, float radius, float a_min, float a_max, in } } - /// Use precomputed angles for a 12 steps circle.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2580.
+ /// Use precomputed angles for a 12 steps circle.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2694.
// DEBUG: void PathArcToFast(const ImVec2& center, float radius, int a_min_of_12, int a_max_of_12) public void PathArcToFast(Vector2 center, float radius, int a_min_of_12, int a_max_of_12) { @@ -11349,7 +11976,7 @@ public void PathArcToFast(Vector2 center, float radius, int a_min_of_12, int a_m } } - /// Cubic Bezier (4 control points).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2581.
+ /// Cubic Bezier (4 control points).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2695.
// DEBUG: void PathBezierCubicCurveTo(const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, int num_segments = 0) public void PathBezierCubicCurveTo(Vector2 p2, Vector2 p3, Vector2 p4, int num_segments = (int)(0)) { @@ -11378,7 +12005,7 @@ public void PathBezierCubicCurveTo(Vector2 p2, Vector2 p3, Vector2 p4, int num_s } } - /// Quadratic Bezier (3 control points).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2582.
+ /// Quadratic Bezier (3 control points).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2696.
// DEBUG: void PathBezierQuadraticCurveTo(const ImVec2& p2, const ImVec2& p3, int num_segments = 0) public void PathBezierQuadraticCurveTo(Vector2 p2, Vector2 p3, int num_segments = (int)(0)) { @@ -11403,7 +12030,7 @@ public void PathBezierQuadraticCurveTo(Vector2 p2, Vector2 p3, int num_segments } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2583. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2697. // DEBUG: void PathRect(const ImVec2& rect_min, const ImVec2& rect_max, float rounding = 0.0f, ImDrawFlags flags = 0) public void PathRect(Vector2 rect_min, Vector2 rect_max, float rounding = 0.0F, ImDrawFlags flags = (ImDrawFlags)(0)) { @@ -11428,7 +12055,7 @@ public void PathRect(Vector2 rect_min, Vector2 rect_max, float rounding = 0.0F, } } - /// Your rendering function must check for 'UserCallback' in ImDrawCmd and call the function instead of rendering triangles.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2586.
+ /// Your rendering function must check for 'UserCallback' in ImDrawCmd and call the function instead of rendering triangles.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2700.
// DEBUG: void AddCallback(ImDrawCallback callback, void* callback_data) public void AddCallback(ImDrawCallback callback, IntPtr callback_data) { @@ -11446,7 +12073,7 @@ public void AddCallback(ImDrawCallback callback, IntPtr callback_data) } } - /// This is useful if you need to forcefully create a new draw call (to allow for dependent rendering / blending). Otherwise primitives are merged into the same draw-call as much as possible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2587.
+ /// This is useful if you need to forcefully create a new draw call (to allow for dependent rendering / blending). Otherwise primitives are merged into the same draw-call as much as possible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2701.
// DEBUG: void AddDrawCmd() public void AddDrawCmd() { @@ -11463,7 +12090,7 @@ public void AddDrawCmd() } } - /// Create a clone of the CmdBuffer/IdxBuffer/VtxBuffer.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2588.
+ /// Create a clone of the CmdBuffer/IdxBuffer/VtxBuffer.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2702.
// DEBUG: ImDrawList* CloneOutput() const public ImDrawList CloneOutput() { @@ -11475,7 +12102,7 @@ public ImDrawList CloneOutput() } } - /// Advanced: Channels.
- Use to split render into layers. By switching channels to can render out-of-order (e.g. submit FG primitives before BG primitives).
- Use to minimize draw calls (e.g. if going back-and-forth between multiple clipping rectangles, prefer to append into separate channels then merge at the end).
- FIXME-OBSOLETE: This API shouldn't have been in ImDrawList in the first place!
Prefer using your own persistent instance of ImDrawListSplitter as you can stack them.
Using the ImDrawList::ChannelsXXXX you cannot stack a split over another.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2596.
+ /// Advanced: Channels.
- Use to split render into layers. By switching channels to can render out-of-order (e.g. submit FG primitives before BG primitives).
- Use to minimize draw calls (e.g. if going back-and-forth between multiple clipping rectangles, prefer to append into separate channels then merge at the end).
- FIXME-OBSOLETE: This API shouldn't have been in ImDrawList in the first place!
Prefer using your own persistent instance of ImDrawListSplitter as you can stack them.
Using the ImDrawList::ChannelsXXXX you cannot stack a split over another.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2710.
// DEBUG: inline void ChannelsSplit(int count) { _Splitter.Split(this, count); } public void ChannelsSplit(int count) { @@ -11492,7 +12119,7 @@ public void ChannelsSplit(int count) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2597. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2711. // DEBUG: inline void ChannelsMerge() { _Splitter.Merge(this); } public void ChannelsMerge() { @@ -11509,7 +12136,7 @@ public void ChannelsMerge() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2598. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2712. // DEBUG: inline void ChannelsSetCurrent(int n) { _Splitter.SetCurrentChannel(this, n); } public void ChannelsSetCurrent(int n) { @@ -11526,7 +12153,7 @@ public void ChannelsSetCurrent(int n) } } - /// Advanced: Primitives allocations.
- We render triangles (three vertices).
- All primitives needs to be reserved via PrimReserve() beforehand.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2603.
+ /// Advanced: Primitives allocations.
- We render triangles (three vertices).
- All primitives needs to be reserved via PrimReserve() beforehand.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2717.
// DEBUG: void PrimReserve(int idx_count, int vtx_count) public void PrimReserve(int idx_count, int vtx_count) { @@ -11543,7 +12170,7 @@ public void PrimReserve(int idx_count, int vtx_count) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2604. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2718. // DEBUG: void PrimUnreserve(int idx_count, int vtx_count) public void PrimUnreserve(int idx_count, int vtx_count) { @@ -11560,7 +12187,7 @@ public void PrimUnreserve(int idx_count, int vtx_count) } } - /// Axis aligned rectangle (composed of two triangles).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2605.
+ /// Axis aligned rectangle (composed of two triangles).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2719.
// DEBUG: void PrimRect(const ImVec2& a, const ImVec2& b, ImU32 col) public void PrimRect(Vector2 a, Vector2 b, uint col) { @@ -11585,7 +12212,7 @@ public void PrimRect(Vector2 a, Vector2 b, uint col) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2606. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2720. // DEBUG: void PrimRectUV(const ImVec2& a, const ImVec2& b, const ImVec2& uv_a, const ImVec2& uv_b, ImU32 col) public void PrimRectUV(Vector2 a, Vector2 b, Vector2 uv_a, Vector2 uv_b, uint col) { @@ -11618,7 +12245,7 @@ public void PrimRectUV(Vector2 a, Vector2 b, Vector2 uv_a, Vector2 uv_b, uint co } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2607. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2721. // DEBUG: void PrimQuadUV(const ImVec2& a, const ImVec2& b, const ImVec2& c, const ImVec2& d, const ImVec2& uv_a, const ImVec2& uv_b, const ImVec2& uv_c, const ImVec2& uv_d, ImU32 col) public void PrimQuadUV(Vector2 a, Vector2 b, Vector2 c, Vector2 d, Vector2 uv_a, Vector2 uv_b, Vector2 uv_c, Vector2 uv_d, uint col) { @@ -11667,7 +12294,7 @@ public void PrimQuadUV(Vector2 a, Vector2 b, Vector2 c, Vector2 d, Vector2 uv_a, } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2608. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2722. // DEBUG: inline void PrimWriteVtx(const ImVec2& pos, const ImVec2& uv, ImU32 col) { _VtxWritePtr->pos = pos; _VtxWritePtr->uv = uv; _VtxWritePtr->col = col; _VtxWritePtr++; _VtxCurrentIdx++; } public void PrimWriteVtx(Vector2 pos, Vector2 uv, uint col) { @@ -11692,7 +12319,7 @@ public void PrimWriteVtx(Vector2 pos, Vector2 uv, uint col) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2609. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2723. // DEBUG: inline void PrimWriteIdx(ImDrawIdx idx) { *_IdxWritePtr = idx; _IdxWritePtr++; } public void PrimWriteIdx(ushort idx) { @@ -11709,7 +12336,7 @@ public void PrimWriteIdx(ushort idx) } } - /// Write vertex with unique index.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2610.
+ /// Write vertex with unique index.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2724.
// DEBUG: inline void PrimVtx(const ImVec2& pos, const ImVec2& uv, ImU32 col) { PrimWriteIdx((ImDrawIdx)_VtxCurrentIdx); PrimWriteVtx(pos, uv, col); } public void PrimVtx(Vector2 pos, Vector2 uv, uint col) { @@ -11734,7 +12361,7 @@ public void PrimVtx(Vector2 pos, Vector2 uv, uint col) } } - /// [Internal helpers].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2618.
+ /// [Internal helpers].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2732.
// DEBUG: void _ResetForNewFrame() public void ResetForNewFrame() { @@ -11751,7 +12378,7 @@ public void ResetForNewFrame() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2619. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2733. // DEBUG: void _ClearFreeMemory() public void ClearFreeMemory() { @@ -11768,7 +12395,7 @@ public void ClearFreeMemory() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2620. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2734. // DEBUG: void _PopUnusedDrawCmd() public void PopUnusedDrawCmd() { @@ -11785,7 +12412,7 @@ public void PopUnusedDrawCmd() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2621. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2735. // DEBUG: void _TryMergeDrawCmds() public void TryMergeDrawCmds() { @@ -11802,7 +12429,7 @@ public void TryMergeDrawCmds() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2622. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2736. // DEBUG: void _OnChangedClipRect() public void OnChangedClipRect() { @@ -11819,7 +12446,7 @@ public void OnChangedClipRect() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2623. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2737. // DEBUG: void _OnChangedTextureID() public void OnChangedTextureID() { @@ -11836,7 +12463,7 @@ public void OnChangedTextureID() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2624. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2738. // DEBUG: void _OnChangedVtxOffset() public void OnChangedVtxOffset() { @@ -11853,7 +12480,7 @@ public void OnChangedVtxOffset() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2625. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2739. // DEBUG: int _CalcCircleAutoSegmentCount(float radius) const public int CalcCircleAutoSegmentCount(float radius) { @@ -11864,7 +12491,7 @@ public int CalcCircleAutoSegmentCount(float radius) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2626. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2740. // DEBUG: void _PathArcToFastEx(const ImVec2& center, float radius, int a_min_sample, int a_max_sample, int a_step) public void PathArcToFastEx(Vector2 center, float radius, int a_min_sample, int a_max_sample, int a_step) { @@ -11885,7 +12512,7 @@ public void PathArcToFastEx(Vector2 center, float radius, int a_min_sample, int } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2627. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2741. // DEBUG: void _PathArcToN(const ImVec2& center, float radius, float a_min, float a_max, int num_segments) public void PathArcToN(Vector2 center, float radius, float a_min, float a_max, int num_segments) { @@ -11911,49 +12538,49 @@ public static implicit operator ImDrawList(ImDrawListSharedData shared_data) return new ImDrawList(shared_data); } - /// Image primitives.
- Read FAQ to understand what ImTextureID is.
- "p_min" and "p_max" represent the upper-left and lower-right corners of the rectangle.
- "uv_min" and "uv_max" represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2568.
+ /// Image primitives.
- Read FAQ to understand what ImTextureID is.
- "p_min" and "p_max" represent the upper-left and lower-right corners of the rectangle.
- "uv_min" and "uv_max" represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2682.
// DEBUG: void AddImage(ImTextureID user_texture_id, const ImVec2& p_min, const ImVec2& p_max, const ImVec2& uv_min = ImVec2(0, 0), const ImVec2& uv_max = ImVec2(1, 1), ImU32 col = IM_COL32_WHITE) public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max) { AddImage(user_texture_id, p_min, p_max, new Vector2(0, 0), new Vector2(1, 1), 4294967295); } - /// Image primitives.
- Read FAQ to understand what ImTextureID is.
- "p_min" and "p_max" represent the upper-left and lower-right corners of the rectangle.
- "uv_min" and "uv_max" represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2568.
+ /// Image primitives.
- Read FAQ to understand what ImTextureID is.
- "p_min" and "p_max" represent the upper-left and lower-right corners of the rectangle.
- "uv_min" and "uv_max" represent the normalized texture coordinates to use for those corners. Using (0,0)->(1,1) texture coordinates will generally display the entire texture.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2682.
// DEBUG: void AddImage(ImTextureID user_texture_id, const ImVec2& p_min, const ImVec2& p_max, const ImVec2& uv_min = ImVec2(0, 0), const ImVec2& uv_max = ImVec2(1, 1), ImU32 col = IM_COL32_WHITE) public void AddImage(IntPtr user_texture_id, Vector2 p_min, Vector2 p_max, Vector2 uv_min) { AddImage(user_texture_id, p_min, p_max, uv_min, new Vector2(1, 1), 4294967295); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2569. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2683. // DEBUG: void AddImageQuad(ImTextureID user_texture_id, const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, const ImVec2& uv1 = ImVec2(0, 0), const ImVec2& uv2 = ImVec2(1, 0), const ImVec2& uv3 = ImVec2(1, 1), const ImVec2& uv4 = ImVec2(0, 1), ImU32 col = IM_COL32_WHITE) public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4) { AddImageQuad(user_texture_id, p1, p2, p3, p4, new Vector2(0, 0), new Vector2(1, 0), new Vector2(1, 1), new Vector2(0, 1), 4294967295); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2569. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2683. // DEBUG: void AddImageQuad(ImTextureID user_texture_id, const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, const ImVec2& uv1 = ImVec2(0, 0), const ImVec2& uv2 = ImVec2(1, 0), const ImVec2& uv3 = ImVec2(1, 1), const ImVec2& uv4 = ImVec2(0, 1), ImU32 col = IM_COL32_WHITE) public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1) { AddImageQuad(user_texture_id, p1, p2, p3, p4, uv1, new Vector2(1, 0), new Vector2(1, 1), new Vector2(0, 1), 4294967295); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2569. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2683. // DEBUG: void AddImageQuad(ImTextureID user_texture_id, const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, const ImVec2& uv1 = ImVec2(0, 0), const ImVec2& uv2 = ImVec2(1, 0), const ImVec2& uv3 = ImVec2(1, 1), const ImVec2& uv4 = ImVec2(0, 1), ImU32 col = IM_COL32_WHITE) public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2) { AddImageQuad(user_texture_id, p1, p2, p3, p4, uv1, uv2, new Vector2(1, 1), new Vector2(0, 1), 4294967295); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2569. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2683. // DEBUG: void AddImageQuad(ImTextureID user_texture_id, const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, const ImVec2& p4, const ImVec2& uv1 = ImVec2(0, 0), const ImVec2& uv2 = ImVec2(1, 0), const ImVec2& uv3 = ImVec2(1, 1), const ImVec2& uv4 = ImVec2(0, 1), ImU32 col = IM_COL32_WHITE) public void AddImageQuad(IntPtr user_texture_id, Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 uv1, Vector2 uv2, Vector2 uv3) { AddImageQuad(user_texture_id, p1, p2, p3, p4, uv1, uv2, uv3, new Vector2(0, 1), 4294967295); } - /// Draw commands. Typically 1 command = 1 GPU draw call, unless the command is a callback.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2508.
+ /// Draw commands. Typically 1 command = 1 GPU draw call, unless the command is a callback.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2622.
public ImVector CmdBuffer { get @@ -11964,7 +12591,7 @@ public ImVector CmdBuffer } } - /// Index buffer. Each command consume ImDrawCmd::ElemCount of those.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2509.
+ /// Index buffer. Each command consume ImDrawCmd::ElemCount of those.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2623.
public ImVector IdxBuffer { get @@ -11975,7 +12602,7 @@ public ImVector IdxBuffer } } - /// Vertex buffer.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2510.
+ /// Vertex buffer.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2624.
public ImVector VtxBuffer { get @@ -11986,7 +12613,7 @@ public ImVector VtxBuffer } } - /// Flags, you may poke into these to adjust anti-aliasing settings per-primitive.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2511.
+ /// Flags, you may poke into these to adjust anti-aliasing settings per-primitive.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2625.
public ImDrawListFlags Flags { get @@ -12001,7 +12628,7 @@ public ImDrawListFlags Flags } } - /// All draw data to render a Dear ImGui frame.
(NB: the style and the naming convention here is a little inconsistent, we currently preserve them for backward compatibility purpose,.
As this is one of the oldest structure exposed by the library! Basically, ImDrawList == CmdList).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2633.
+ /// All draw data to render a Dear ImGui frame.
(NB: the style and the naming convention here is a little inconsistent, we currently preserve them for backward compatibility purpose,.
As this is one of the oldest structure exposed by the library! Basically, ImDrawList == CmdList).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2747.
// DEBUG: struct ImDrawData // DEBUG: { // DEBUG: bool Valid; // Only valid after Render() is called and before the next NewFrame() is called. @@ -12012,6 +12639,7 @@ public ImDrawListFlags Flags // DEBUG: ImVec2 DisplayPos; // Top-left position of the viewport to render (== top-left of the orthogonal projection matrix to use) (== GetMainViewport()->Pos for the main viewport, == (0.0) in most single-viewport applications) // DEBUG: ImVec2 DisplaySize; // Size of the viewport to render (== GetMainViewport()->Size for the main viewport, == io.DisplaySize in most single-viewport applications) // DEBUG: ImVec2 FramebufferScale; // Amount of pixels for each unit of DisplaySize. Based on io.DisplayFramebufferScale. Generally (1,1) on normal display, (2,2) on OSX with Retina display. + // DEBUG: ImGuiViewport* OwnerViewport; // Viewport carrying the ImDrawData instance, might be of use to the renderer (generally not). // DEBUG: // DEBUG: // Functions // DEBUG: ImDrawData() { Clear(); } @@ -12032,6 +12660,7 @@ internal partial struct __Internal internal Vector2 DisplayPos; internal Vector2 DisplaySize; internal Vector2 FramebufferScale; + internal IntPtr OwnerViewport; } private partial struct __Internal32 @@ -12094,7 +12723,7 @@ private ImDrawData(void* native, bool skipVTables = false) : this() __instance = *(ImDrawData.__Internal*)native; } - /// All draw data to render a Dear ImGui frame.
(NB: the style and the naming convention here is a little inconsistent, we currently preserve them for backward compatibility purpose,.
As this is one of the oldest structure exposed by the library! Basically, ImDrawList == CmdList).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2633.
+ /// All draw data to render a Dear ImGui frame.
(NB: the style and the naming convention here is a little inconsistent, we currently preserve them for backward compatibility purpose,.
As this is one of the oldest structure exposed by the library! Basically, ImDrawList == CmdList).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2747.
// DEBUG: ImDrawData public ImDrawData(ImDrawData _0) : this() { @@ -12113,7 +12742,7 @@ public ImDrawData(ImDrawData _0) : this() } } - /// The ImDrawList are owned by ImGuiContext!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2646.
+ /// The ImDrawList are owned by ImGuiContext!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2761.
// DEBUG: void Clear() { memset(this, 0, sizeof(*this)); } public void Clear() { @@ -12130,7 +12759,7 @@ public void Clear() } } - /// Helper to convert all buffers from indexed to non-indexed, in case you cannot render indexed. Note: this is slow and most likely a waste of resources. Always prefer indexed rendering!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2647.
+ /// Helper to convert all buffers from indexed to non-indexed, in case you cannot render indexed. Note: this is slow and most likely a waste of resources. Always prefer indexed rendering!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2762.
// DEBUG: void DeIndexAllBuffers() public void DeIndexAllBuffers() { @@ -12147,7 +12776,7 @@ public void DeIndexAllBuffers() } } - /// Helper to scale the ClipRect field of each ImDrawCmd. Use if your final output buffer is at a different scale than Dear ImGui expects, or if there is a difference between your window resolution and framebuffer resolution.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2648.
+ /// Helper to scale the ClipRect field of each ImDrawCmd. Use if your final output buffer is at a different scale than Dear ImGui expects, or if there is a difference between your window resolution and framebuffer resolution.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2763.
// DEBUG: void ScaleClipRects(const ImVec2& fb_scale) public void ScaleClipRects(Vector2 fb_scale) { @@ -12168,7 +12797,7 @@ public void ScaleClipRects(Vector2 fb_scale) } } - /// Only valid after Render() is called and before the next NewFrame() is called.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2635.
+ /// Only valid after Render() is called and before the next NewFrame() is called.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2749.
public bool Valid { get @@ -12182,7 +12811,7 @@ public bool Valid } } - /// Number of ImDrawList* to render.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2636.
+ /// Number of ImDrawList* to render.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2750.
public int CmdListsCount { get @@ -12196,7 +12825,7 @@ public int CmdListsCount } } - /// For convenience, sum of all ImDrawList's IdxBuffer.Size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2637.
+ /// For convenience, sum of all ImDrawList's IdxBuffer.Size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2751.
public int TotalIdxCount { get @@ -12210,7 +12839,7 @@ public int TotalIdxCount } } - /// For convenience, sum of all ImDrawList's VtxBuffer.Size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2638.
+ /// For convenience, sum of all ImDrawList's VtxBuffer.Size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2752.
public int TotalVtxCount { get @@ -12223,9 +12852,24 @@ public int TotalVtxCount __instance.TotalVtxCount = value; } } + + /// Viewport carrying the ImDrawData instance, might be of use to the renderer (generally not).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2757.
+ public ImGuiViewport OwnerViewport + { + get + { + var __result0 = ImGuiViewport.__GetOrCreateInstance(__instance.OwnerViewport, false); + return __result0; + } + + set + { + __instance.OwnerViewport = value is null ? IntPtr.Zero : value.__Instance; + } + } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2655. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2770. // DEBUG: struct ImFontConfig // DEBUG: { // DEBUG: void* FontData; // // TTF/OTF data @@ -12315,6 +12959,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImFontCon private protected bool __ownsNativeInstance; internal static ImFontConfig __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImFontConfig(native.ToPointer(), skipVTables); } @@ -12355,7 +13001,7 @@ private protected ImFontConfig(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2679. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2794. // DEBUG: ImFontConfig() public ImFontConfig() { @@ -12372,7 +13018,7 @@ public ImFontConfig() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2655. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2770. // DEBUG: ImFontConfig public ImFontConfig(ImFontConfig _0) { @@ -12417,7 +13063,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// TTF/OTF data.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2657.
+ /// TTF/OTF data.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2772.
public IntPtr FontData { get @@ -12431,7 +13077,7 @@ public IntPtr FontData } } - /// TTF/OTF data size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2658.
+ /// TTF/OTF data size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2773.
public int FontDataSize { get @@ -12445,7 +13091,7 @@ public int FontDataSize } } - /// True.
TTF/OTF data ownership taken by the container ImFontAtlas (will delete memory itself).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2659.
+ /// True.
TTF/OTF data ownership taken by the container ImFontAtlas (will delete memory itself).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2774.
public bool FontDataOwnedByAtlas { get @@ -12459,7 +13105,7 @@ public bool FontDataOwnedByAtlas } } - /// 0.
Index of font within TTF/OTF file.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2660.
+ /// 0.
Index of font within TTF/OTF file.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2775.
public int FontNo { get @@ -12473,7 +13119,7 @@ public int FontNo } } - /// Size in pixels for rasterizer (more or less maps to the resulting font height).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2661.
+ /// Size in pixels for rasterizer (more or less maps to the resulting font height).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2776.
public float SizePixels { get @@ -12487,7 +13133,7 @@ public float SizePixels } } - /// 3.
Rasterize at higher quality for sub-pixel positioning. Note the difference between 2 and 3 is minimal so you can reduce this to 2 to save memory. Read https:.
Github.com/nothings/stb/blob/master/tests/oversample/README.md for details.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2662.
+ /// 3.
Rasterize at higher quality for sub-pixel positioning. Note the difference between 2 and 3 is minimal so you can reduce this to 2 to save memory. Read https:.
Github.com/nothings/stb/blob/master/tests/oversample/README.md for details.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2777.
public int OversampleH { get @@ -12501,7 +13147,7 @@ public int OversampleH } } - /// 1.
Rasterize at higher quality for sub-pixel positioning. This is not really useful as we don't use sub-pixel positions on the Y axis.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2663.
+ /// 1.
Rasterize at higher quality for sub-pixel positioning. This is not really useful as we don't use sub-pixel positions on the Y axis.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2778.
public int OversampleV { get @@ -12515,7 +13161,7 @@ public int OversampleV } } - /// False.
Align every glyph to pixel boundary. Useful e.g. if you are merging a non-pixel aligned font with the default font. If enabled, you can set OversampleH/V to 1.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2664.
+ /// False.
Align every glyph to pixel boundary. Useful e.g. if you are merging a non-pixel aligned font with the default font. If enabled, you can set OversampleH/V to 1.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2779.
public bool PixelSnapH { get @@ -12529,7 +13175,7 @@ public bool PixelSnapH } } - /// 0, 0.
Extra spacing (in pixels) between glyphs. Only X axis is supported for now.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2665.
+ /// 0, 0.
Extra spacing (in pixels) between glyphs. Only X axis is supported for now.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2780.
public Vector2 GlyphExtraSpacing { get @@ -12549,7 +13195,7 @@ public Vector2 GlyphExtraSpacing } } - /// 0, 0.
Offset all glyphs from this font input.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2666.
+ /// 0, 0.
Offset all glyphs from this font input.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2781.
public Vector2 GlyphOffset { get @@ -12569,7 +13215,7 @@ public Vector2 GlyphOffset } } - /// NULL.
Pointer to a user-provided list of Unicode range (2 value per range, values are inclusive, zero-terminated list). THE ARRAY DATA NEEDS TO PERSIST AS LONG AS THE FONT IS ALIVE.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2667.
+ /// NULL.
Pointer to a user-provided list of Unicode range (2 value per range, values are inclusive, zero-terminated list). THE ARRAY DATA NEEDS TO PERSIST AS LONG AS THE FONT IS ALIVE.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2782.
public ushort* GlyphRanges { get @@ -12578,7 +13224,7 @@ public ushort* GlyphRanges } } - /// 0.
Minimum AdvanceX for glyphs, set Min to align font icons, set both Min/Max to enforce mono-space font.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2668.
+ /// 0.
Minimum AdvanceX for glyphs, set Min to align font icons, set both Min/Max to enforce mono-space font.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2783.
public float GlyphMinAdvanceX { get @@ -12592,7 +13238,7 @@ public float GlyphMinAdvanceX } } - /// FLT_MAX.
Maximum AdvanceX for glyphs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2669.
+ /// FLT_MAX.
Maximum AdvanceX for glyphs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2784.
public float GlyphMaxAdvanceX { get @@ -12606,7 +13252,7 @@ public float GlyphMaxAdvanceX } } - /// False.
Merge into previous ImFont, so you can combine multiple inputs font into one ImFont (e.g. ASCII font + icons + Japanese glyphs). You may want to use GlyphOffset.y when merge font of different heights.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2670.
+ /// False.
Merge into previous ImFont, so you can combine multiple inputs font into one ImFont (e.g. ASCII font + icons + Japanese glyphs). You may want to use GlyphOffset.y when merge font of different heights.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2785.
public bool MergeMode { get @@ -12620,7 +13266,7 @@ public bool MergeMode } } - /// 0.
Settings for custom font builder. THIS IS BUILDER IMPLEMENTATION DEPENDENT. Leave as zero if unsure.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2671.
+ /// 0.
Settings for custom font builder. THIS IS BUILDER IMPLEMENTATION DEPENDENT. Leave as zero if unsure.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2786.
public uint FontBuilderFlags { get @@ -12634,7 +13280,7 @@ public uint FontBuilderFlags } } - /// 1.0f.
Brighten (>1.0f) or darken (<1.0f) font output. Brightening small fonts may be a good workaround to make them more readable.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2672.
+ /// 1.0f.
Brighten (>1.0f) or darken (<1.0f) font output. Brightening small fonts may be a good workaround to make them more readable.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2787.
public float RasterizerMultiply { get @@ -12648,7 +13294,7 @@ public float RasterizerMultiply } } - /// -1.
Explicitly specify unicode codepoint of ellipsis character. When fonts are being merged first specified ellipsis will be used.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2673.
+ /// -1.
Explicitly specify unicode codepoint of ellipsis character. When fonts are being merged first specified ellipsis will be used.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2788.
public ushort EllipsisChar { get @@ -12662,7 +13308,7 @@ public ushort EllipsisChar } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2677. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2792. public ImFont DstFont { get @@ -12678,7 +13324,7 @@ public ImFont DstFont } } - /// Hold rendering data for one glyph.
(Note: some language parsers may fail to convert the 31+1 bitfield members, in this case maybe drop store a single u32 or we can rework this).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2684.
+ /// Hold rendering data for one glyph.
(Note: some language parsers may fail to convert the 31+1 bitfield members, in this case maybe drop store a single u32 or we can rework this).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2799.
// DEBUG: struct ImFontGlyph // DEBUG: { // DEBUG: unsigned int Colored : 1; // Flag to indicate glyph is colored and should generally ignore tinting (make it usable with no shift on little-endian as this is used in loops) @@ -12750,6 +13396,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImFontGly private protected bool __ownsNativeInstance; internal static ImFontGlyph __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImFontGlyph(native.ToPointer(), skipVTables); } @@ -12790,7 +13438,7 @@ private protected ImFontGlyph(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// Hold rendering data for one glyph.
(Note: some language parsers may fail to convert the 31+1 bitfield members, in this case maybe drop store a single u32 or we can rework this).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2684.
+ /// Hold rendering data for one glyph.
(Note: some language parsers may fail to convert the 31+1 bitfield members, in this case maybe drop store a single u32 or we can rework this).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2799.
// DEBUG: ImFontGlyph public ImFontGlyph() { @@ -12799,7 +13447,7 @@ public ImFontGlyph() __RecordNativeToManagedMapping(__Instance, this); } - /// Hold rendering data for one glyph.
(Note: some language parsers may fail to convert the 31+1 bitfield members, in this case maybe drop store a single u32 or we can rework this).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2684.
+ /// Hold rendering data for one glyph.
(Note: some language parsers may fail to convert the 31+1 bitfield members, in this case maybe drop store a single u32 or we can rework this).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2799.
// DEBUG: ImFontGlyph public ImFontGlyph(ImFontGlyph _0) { @@ -12844,7 +13492,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// Distance to next character (= data from font + ImFontConfig::GlyphExtraSpacing.x baked in).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2689.
+ /// Distance to next character (= data from font + ImFontConfig::GlyphExtraSpacing.x baked in).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2804.
public float AdvanceX { get @@ -12858,7 +13506,7 @@ public float AdvanceX } } - /// Glyph corners.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2690.
+ /// Glyph corners.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2805.
public float X0 { get @@ -12872,7 +13520,7 @@ public float X0 } } - /// Glyph corners.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2690.
+ /// Glyph corners.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2805.
public float Y0 { get @@ -12886,7 +13534,7 @@ public float Y0 } } - /// Glyph corners.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2690.
+ /// Glyph corners.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2805.
public float X1 { get @@ -12900,7 +13548,7 @@ public float X1 } } - /// Glyph corners.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2690.
+ /// Glyph corners.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2805.
public float Y1 { get @@ -12914,7 +13562,7 @@ public float Y1 } } - /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2691.
+ /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2806.
public float U0 { get @@ -12928,7 +13576,7 @@ public float U0 } } - /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2691.
+ /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2806.
public float V0 { get @@ -12942,7 +13590,7 @@ public float V0 } } - /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2691.
+ /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2806.
public float U1 { get @@ -12956,7 +13604,7 @@ public float U1 } } - /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2691.
+ /// Texture coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2806.
public float V1 { get @@ -12971,7 +13619,7 @@ public float V1 } } - /// Helper to build glyph ranges from text/string data. Feed your application strings/characters to it then call BuildRanges().
This is essentially a tightly packed of vector of 64k booleans = 8KB storage.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2696.
+ /// Helper to build glyph ranges from text/string data. Feed your application strings/characters to it then call BuildRanges().
This is essentially a tightly packed of vector of 64k booleans = 8KB storage.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2811.
// DEBUG: struct ImFontGlyphRangesBuilder // DEBUG: { // DEBUG: ImVector UsedChars; // Store 1-bit per Unicode code point (0=unused, 1=used) @@ -13080,6 +13728,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImFontGly private protected bool __ownsNativeInstance; internal static ImFontGlyphRangesBuilder __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImFontGlyphRangesBuilder(native.ToPointer(), skipVTables); } @@ -13120,7 +13770,7 @@ private protected ImFontGlyphRangesBuilder(void* native, bool skipVTables = fals __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2700. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2815. // DEBUG: ImFontGlyphRangesBuilder() { Clear(); } public ImFontGlyphRangesBuilder() { @@ -13137,7 +13787,7 @@ public ImFontGlyphRangesBuilder() } } - /// Helper to build glyph ranges from text/string data. Feed your application strings/characters to it then call BuildRanges().
This is essentially a tightly packed of vector of 64k booleans = 8KB storage.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2696.
+ /// Helper to build glyph ranges from text/string data. Feed your application strings/characters to it then call BuildRanges().
This is essentially a tightly packed of vector of 64k booleans = 8KB storage.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2811.
// DEBUG: ImFontGlyphRangesBuilder public ImFontGlyphRangesBuilder(ImFontGlyphRangesBuilder _0) { @@ -13192,7 +13842,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2701. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2816. // DEBUG: inline void Clear() { int size_in_bytes = (IM_UNICODE_CODEPOINT_MAX + 1) / 8; UsedChars.resize(size_in_bytes / (int)sizeof(ImU32)); memset(UsedChars.Data, 0, (size_t)size_in_bytes); } public void Clear() { @@ -13206,7 +13856,7 @@ public void Clear() } } - /// Get bit n in the array.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2702.
+ /// Get bit n in the array.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2817.
// DEBUG: inline bool GetBit(size_t n) const { int off = (int)(n >> 5); ImU32 mask = 1u << (n & 31); return (UsedChars[off] & mask) != 0; } public bool GetBit(UIntPtr n) { @@ -13217,7 +13867,7 @@ public bool GetBit(UIntPtr n) return ___ret; } - /// Set bit n in the array.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2703.
+ /// Set bit n in the array.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2818.
// DEBUG: inline void SetBit(size_t n) { int off = (int)(n >> 5); ImU32 mask = 1u << (n & 31); UsedChars[off] |= mask; } public void SetBit(UIntPtr n) { @@ -13234,7 +13884,7 @@ public void SetBit(UIntPtr n) } } - /// Add character.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2704.
+ /// Add character.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2819.
// DEBUG: inline void AddChar(ImWchar c) { SetBit(c); } public void AddChar(ushort c) { @@ -13248,7 +13898,7 @@ public void AddChar(ushort c) } } - /// Add string (each character of the UTF-8 string are added).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2705.
+ /// Add string (each character of the UTF-8 string are added).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2820.
// DEBUG: void AddText(const char* text, const char* text_end = NULL) public void AddText(string text, string text_end = default) { @@ -13262,7 +13912,7 @@ public void AddText(string text, string text_end = default) } } - /// Add ranges, e.g. builder.AddRanges(ImFontAtlas::GetGlyphRangesDefault()) to force add all of ASCII/Latin+Ext.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2706.
+ /// Add ranges, e.g. builder.AddRanges(ImFontAtlas::GetGlyphRangesDefault()) to force add all of ASCII/Latin+Ext.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2821.
// DEBUG: void AddRanges(const ImWchar* ranges) public void AddRanges(ref ushort ranges) { @@ -13280,7 +13930,7 @@ public void AddRanges(ref ushort ranges) } } - /// Output new ranges.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2707.
+ /// Output new ranges.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2822.
// DEBUG: void BuildRanges(ImVector* out_ranges) public void BuildRanges(ImVector out_ranges) { @@ -13297,7 +13947,7 @@ public void BuildRanges(ImVector out_ranges) } } - /// Store 1-bit per Unicode code point (0=unused, 1=used).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2698.
+ /// Store 1-bit per Unicode code point (0=unused, 1=used).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2813.
public ImVector UsedChars { get @@ -13309,7 +13959,7 @@ public ImVector UsedChars } } - /// See ImFontAtlas::AddCustomRectXXX functions.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2711.
+ /// See ImFontAtlas::AddCustomRectXXX functions.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2826.
// DEBUG: struct ImFontAtlasCustomRect // DEBUG: { // DEBUG: unsigned short Width, Height; // Input // Desired rectangle dimension @@ -13381,6 +14031,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImFontAtl private protected bool __ownsNativeInstance; internal static ImFontAtlasCustomRect __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImFontAtlasCustomRect(native.ToPointer(), skipVTables); } @@ -13421,7 +14073,7 @@ private protected ImFontAtlasCustomRect(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2719. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2834. // DEBUG: ImFontAtlasCustomRect() { Width = Height = 0; X = Y = 0xFFFF; GlyphID = 0; GlyphAdvanceX = 0.0f; GlyphOffset = ImVec2(0, 0); Font = NULL; } public ImFontAtlasCustomRect() { @@ -13438,7 +14090,7 @@ public ImFontAtlasCustomRect() } } - /// See ImFontAtlas::AddCustomRectXXX functions.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2711.
+ /// See ImFontAtlas::AddCustomRectXXX functions.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2826.
// DEBUG: ImFontAtlasCustomRect public ImFontAtlasCustomRect(ImFontAtlasCustomRect _0) { @@ -13483,7 +14135,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// Input.
Desired rectangle dimension.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2713.
+ /// Input.
Desired rectangle dimension.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2828.
public ushort Width { get @@ -13497,7 +14149,7 @@ public ushort Width } } - /// Input.
Desired rectangle dimension.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2713.
+ /// Input.
Desired rectangle dimension.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2828.
public ushort Height { get @@ -13511,7 +14163,7 @@ public ushort Height } } - /// Output.
Packed position in Atlas.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2714.
+ /// Output.
Packed position in Atlas.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2829.
public ushort X { get @@ -13525,7 +14177,7 @@ public ushort X } } - /// Output.
Packed position in Atlas.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2714.
+ /// Output.
Packed position in Atlas.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2829.
public ushort Y { get @@ -13539,7 +14191,7 @@ public ushort Y } } - /// Input.
For custom font glyphs only (ID < 0x110000).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2715.
+ /// Input.
For custom font glyphs only (ID < 0x110000).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2830.
public uint GlyphID { get @@ -13553,7 +14205,7 @@ public uint GlyphID } } - /// Input.
For custom font glyphs only: glyph xadvance.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2716.
+ /// Input.
For custom font glyphs only: glyph xadvance.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2831.
public float GlyphAdvanceX { get @@ -13567,7 +14219,7 @@ public float GlyphAdvanceX } } - /// Input.
For custom font glyphs only: glyph display offset.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2717.
+ /// Input.
For custom font glyphs only: glyph display offset.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2832.
public Vector2 GlyphOffset { get @@ -13587,7 +14239,7 @@ public Vector2 GlyphOffset } } - /// Input.
For custom font glyphs only: target font.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2718.
+ /// Input.
For custom font glyphs only: target font.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2833.
public ImFont Font { get @@ -13603,7 +14255,7 @@ public ImFont Font } } - /// Load and rasterize multiple TTF/OTF fonts into a same texture. The font atlas will build a single texture holding:.
- One or more fonts.
- Custom graphics data needed to render the shapes needed by Dear ImGui.
- Mouse cursor shapes for software cursor rendering (unless setting 'Flags |= ImFontAtlasFlags_NoMouseCursors' in the font atlas).
It is the user-code responsibility to setup/build the atlas, then upload the pixel data into a texture accessible by your graphics api.
- Optionally, call any of the AddFont*** functions. If you don't call any, the default font embedded in the code will be loaded for you.
- Call GetTexDataAsAlpha8() or GetTexDataAsRGBA32() to build and retrieve pixels data.
- Upload the pixels data into a texture within your graphics system (see imgui_impl_xxxx.cpp examples).
- Call SetTexID(my_tex_id); and pass the pointer/identifier to your texture in a format natural to your graphics API.
This value will be passed back to you during rendering to identify the texture. Read FAQ entry about ImTextureID for more details.
Common pitfalls:.
- If you pass a 'glyph_ranges' array to AddFont*** functions, you need to make sure that your array persist up until the.
Atlas is build (when calling GetTexData*** or Build()). We only copy the pointer, not the data.
- Important: By default, AddFontFromMemoryTTF() takes ownership of the data. Even though we are not writing to it, we will free the pointer on destruction.
You can set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed,.
- Even though many functions are suffixed with "TTF", OTF data is supported just as well.
- This is an old API and it is currently awkward for those and and various other reasons! We will address them in the future!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2749.
+ /// Load and rasterize multiple TTF/OTF fonts into a same texture. The font atlas will build a single texture holding:.
- One or more fonts.
- Custom graphics data needed to render the shapes needed by Dear ImGui.
- Mouse cursor shapes for software cursor rendering (unless setting 'Flags |= ImFontAtlasFlags_NoMouseCursors' in the font atlas).
It is the user-code responsibility to setup/build the atlas, then upload the pixel data into a texture accessible by your graphics api.
- Optionally, call any of the AddFont*** functions. If you don't call any, the default font embedded in the code will be loaded for you.
- Call GetTexDataAsAlpha8() or GetTexDataAsRGBA32() to build and retrieve pixels data.
- Upload the pixels data into a texture within your graphics system (see imgui_impl_xxxx.cpp examples).
- Call SetTexID(my_tex_id); and pass the pointer/identifier to your texture in a format natural to your graphics API.
This value will be passed back to you during rendering to identify the texture. Read FAQ entry about ImTextureID for more details.
Common pitfalls:.
- If you pass a 'glyph_ranges' array to AddFont*** functions, you need to make sure that your array persist up until the.
Atlas is build (when calling GetTexData*** or Build()). We only copy the pointer, not the data.
- Important: By default, AddFontFromMemoryTTF() takes ownership of the data. Even though we are not writing to it, we will free the pointer on destruction.
You can set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed,.
- Even though many functions are suffixed with "TTF", OTF data is supported just as well.
- This is an old API and it is currently awkward for those and and various other reasons! We will address them in the future!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2864.
// DEBUG: struct ImFontAtlas // DEBUG: { // DEBUG: IMGUI_API ImFontAtlas(); @@ -13941,6 +14593,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImFontAtl private protected bool __ownsNativeInstance; internal static ImFontAtlas __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImFontAtlas(native.ToPointer(), skipVTables); } @@ -13989,7 +14643,7 @@ private protected ImFontAtlas(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2751. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2866. // DEBUG: ImFontAtlas() public ImFontAtlas() { @@ -14006,7 +14660,7 @@ public ImFontAtlas() } } - /// Load and rasterize multiple TTF/OTF fonts into a same texture. The font atlas will build a single texture holding:.
- One or more fonts.
- Custom graphics data needed to render the shapes needed by Dear ImGui.
- Mouse cursor shapes for software cursor rendering (unless setting 'Flags |= ImFontAtlasFlags_NoMouseCursors' in the font atlas).
It is the user-code responsibility to setup/build the atlas, then upload the pixel data into a texture accessible by your graphics api.
- Optionally, call any of the AddFont*** functions. If you don't call any, the default font embedded in the code will be loaded for you.
- Call GetTexDataAsAlpha8() or GetTexDataAsRGBA32() to build and retrieve pixels data.
- Upload the pixels data into a texture within your graphics system (see imgui_impl_xxxx.cpp examples).
- Call SetTexID(my_tex_id); and pass the pointer/identifier to your texture in a format natural to your graphics API.
This value will be passed back to you during rendering to identify the texture. Read FAQ entry about ImTextureID for more details.
Common pitfalls:.
- If you pass a 'glyph_ranges' array to AddFont*** functions, you need to make sure that your array persist up until the.
Atlas is build (when calling GetTexData*** or Build()). We only copy the pointer, not the data.
- Important: By default, AddFontFromMemoryTTF() takes ownership of the data. Even though we are not writing to it, we will free the pointer on destruction.
You can set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed,.
- Even though many functions are suffixed with "TTF", OTF data is supported just as well.
- This is an old API and it is currently awkward for those and and various other reasons! We will address them in the future!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2749.
+ /// Load and rasterize multiple TTF/OTF fonts into a same texture. The font atlas will build a single texture holding:.
- One or more fonts.
- Custom graphics data needed to render the shapes needed by Dear ImGui.
- Mouse cursor shapes for software cursor rendering (unless setting 'Flags |= ImFontAtlasFlags_NoMouseCursors' in the font atlas).
It is the user-code responsibility to setup/build the atlas, then upload the pixel data into a texture accessible by your graphics api.
- Optionally, call any of the AddFont*** functions. If you don't call any, the default font embedded in the code will be loaded for you.
- Call GetTexDataAsAlpha8() or GetTexDataAsRGBA32() to build and retrieve pixels data.
- Upload the pixels data into a texture within your graphics system (see imgui_impl_xxxx.cpp examples).
- Call SetTexID(my_tex_id); and pass the pointer/identifier to your texture in a format natural to your graphics API.
This value will be passed back to you during rendering to identify the texture. Read FAQ entry about ImTextureID for more details.
Common pitfalls:.
- If you pass a 'glyph_ranges' array to AddFont*** functions, you need to make sure that your array persist up until the.
Atlas is build (when calling GetTexData*** or Build()). We only copy the pointer, not the data.
- Important: By default, AddFontFromMemoryTTF() takes ownership of the data. Even though we are not writing to it, we will free the pointer on destruction.
You can set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed,.
- Even though many functions are suffixed with "TTF", OTF data is supported just as well.
- This is an old API and it is currently awkward for those and and various other reasons! We will address them in the future!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2864.
// DEBUG: ImFontAtlas public ImFontAtlas(ImFontAtlas _0) { @@ -14061,7 +14715,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2753. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2868. // DEBUG: ImFont* AddFont(const ImFontConfig* font_cfg) public ImFont AddFont(ImFontConfig font_cfg) { @@ -14071,7 +14725,7 @@ public ImFont AddFont(ImFontConfig font_cfg) return __result0; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2754. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2869. // DEBUG: ImFont* AddFontDefault(const ImFontConfig* font_cfg = NULL) public ImFont AddFontDefault(ImFontConfig font_cfg = default) { @@ -14081,7 +14735,7 @@ public ImFont AddFontDefault(ImFontConfig font_cfg = default) return __result0; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2755. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2870. // DEBUG: ImFont* AddFontFromFileTTF(const char* filename, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromFileTTF(string filename, float size_pixels, ImFontConfig font_cfg, ref ushort glyph_ranges) { @@ -14095,7 +14749,7 @@ public ImFont AddFontFromFileTTF(string filename, float size_pixels, ImFontConfi } } - /// Note: Transfer ownership of 'ttf_data' to ImFontAtlas! Will be deleted after destruction of the atlas. Set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2756.
+ /// Note: Transfer ownership of 'ttf_data' to ImFontAtlas! Will be deleted after destruction of the atlas. Set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2871.
// DEBUG: ImFont* AddFontFromMemoryTTF(void* font_data, int font_size, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromMemoryTTF(IntPtr font_data, int font_size, float size_pixels, ImFontConfig font_cfg, ref ushort glyph_ranges) { @@ -14109,7 +14763,7 @@ public ImFont AddFontFromMemoryTTF(IntPtr font_data, int font_size, float size_p } } - /// 'compressed_font_data' still owned by caller. Compress with binary_to_compressed_c.cpp.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2757.
+ /// 'compressed_font_data' still owned by caller. Compress with binary_to_compressed_c.cpp.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2872.
// DEBUG: ImFont* AddFontFromMemoryCompressedTTF(const void* compressed_font_data, int compressed_font_size, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromMemoryCompressedTTF(IntPtr compressed_font_data, int compressed_font_size, float size_pixels, ImFontConfig font_cfg, ref ushort glyph_ranges) { @@ -14123,7 +14777,7 @@ public ImFont AddFontFromMemoryCompressedTTF(IntPtr compressed_font_data, int co } } - /// 'compressed_font_data_base85' still owned by caller. Compress with binary_to_compressed_c.cpp with -base85 parameter.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2758.
+ /// 'compressed_font_data_base85' still owned by caller. Compress with binary_to_compressed_c.cpp with -base85 parameter.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2873.
// DEBUG: ImFont* AddFontFromMemoryCompressedBase85TTF(const char* compressed_font_data_base85, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromMemoryCompressedBase85TTF(string compressed_font_data_base85, float size_pixels, ImFontConfig font_cfg, ref ushort glyph_ranges) { @@ -14137,7 +14791,7 @@ public ImFont AddFontFromMemoryCompressedBase85TTF(string compressed_font_data_b } } - /// Clear input data (all ImFontConfig structures including sizes, TTF data, glyph ranges, etc.) = all the data used to build the texture and fonts.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2759.
+ /// Clear input data (all ImFontConfig structures including sizes, TTF data, glyph ranges, etc.) = all the data used to build the texture and fonts.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2874.
// DEBUG: void ClearInputData() public void ClearInputData() { @@ -14151,7 +14805,7 @@ public void ClearInputData() } } - /// Clear output texture data (CPU side). Saves RAM once the texture has been copied to graphics memory.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2760.
+ /// Clear output texture data (CPU side). Saves RAM once the texture has been copied to graphics memory.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2875.
// DEBUG: void ClearTexData() public void ClearTexData() { @@ -14165,7 +14819,7 @@ public void ClearTexData() } } - /// Clear output font data (glyphs storage, UV coordinates).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2761.
+ /// Clear output font data (glyphs storage, UV coordinates).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2876.
// DEBUG: void ClearFonts() public void ClearFonts() { @@ -14179,7 +14833,7 @@ public void ClearFonts() } } - /// Clear all input and output.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2762.
+ /// Clear all input and output.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2877.
// DEBUG: void Clear() public void Clear() { @@ -14193,7 +14847,7 @@ public void Clear() } } - /// Build pixels data. This is called automatically for you by the GetTexData*** functions.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2769.
+ /// Build pixels data. This is called automatically for you by the GetTexData*** functions.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2884.
// DEBUG: bool Build() public bool Build() { @@ -14201,7 +14855,7 @@ public bool Build() return ___ret; } - /// 1 byte per-pixel.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2770.
+ /// 1 byte per-pixel.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2885.
// DEBUG: void GetTexDataAsAlpha8(unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = NULL) public void GetTexDataAsAlpha8(byte** out_pixels, ref int out_width, ref int out_height, ref int out_bytes_per_pixel) { @@ -14227,7 +14881,7 @@ public void GetTexDataAsAlpha8(byte** out_pixels, ref int out_width, ref int out } } - /// 4 bytes-per-pixel.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2771.
+ /// 4 bytes-per-pixel.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2886.
// DEBUG: void GetTexDataAsRGBA32(unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = NULL) public void GetTexDataAsRGBA32(byte** out_pixels, ref int out_width, ref int out_height, ref int out_bytes_per_pixel) { @@ -14253,7 +14907,7 @@ public void GetTexDataAsRGBA32(byte** out_pixels, ref int out_width, ref int out } } - /// You can request arbitrary rectangles to be packed into the atlas, for your own purposes.
- After calling Build(), you can query the rectangle position and render your pixels.
- If you render colored output, set 'atlas->TexPixelsUseColors = true' as this may help some backends decide of prefered texture format.
- You can also request your rectangles to be mapped as font glyph (given a font + Unicode point),.
So you can render e.g. custom colorful icons and use them as regular glyphs.
- Read docs/FONTS.md for more details about using colorful icons.
- Note: this API may be redesigned later in order to support multi-monitor varying DPI settings.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2802.
+ /// You can request arbitrary rectangles to be packed into the atlas, for your own purposes.
- After calling Build(), you can query the rectangle position and render your pixels.
- If you render colored output, set 'atlas->TexPixelsUseColors = true' as this may help some backends decide of prefered texture format.
- You can also request your rectangles to be mapped as font glyph (given a font + Unicode point),.
So you can render e.g. custom colorful icons and use them as regular glyphs.
- Read docs/FONTS.md for more details about using colorful icons.
- Note: this API may be redesigned later in order to support multi-monitor varying DPI settings.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2917.
// DEBUG: int AddCustomRectRegular(int width, int height) public int AddCustomRectRegular(int width, int height) { @@ -14261,7 +14915,7 @@ public int AddCustomRectRegular(int width, int height) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2803. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2918. // DEBUG: int AddCustomRectFontGlyph(ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2& offset = ImVec2(0, 0)) public int AddCustomRectFontGlyph(ImFont font, ushort id, int width, int height, float advance_x, Vector2 offset) { @@ -14274,7 +14928,7 @@ public int AddCustomRectFontGlyph(ImFont font, ushort id, int width, int height, return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2804. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2919. // DEBUG: ImFontAtlasCustomRect* GetCustomRectByIndex(int index) { IM_ASSERT(index >= 0); return &CustomRects[index]; } public ImFontAtlasCustomRect GetCustomRectByIndex(int index) { @@ -14283,7 +14937,7 @@ public ImFontAtlasCustomRect GetCustomRectByIndex(int index) return __result0; } - /// [Internal].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2807.
+ /// [Internal].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2922.
// DEBUG: void CalcCustomRectUV(const ImFontAtlasCustomRect* rect, ImVec2* out_uv_min, ImVec2* out_uv_max) const public void CalcCustomRectUV(ImFontAtlasCustomRect rect, Vector2 out_uv_min, Vector2 out_uv_max) { @@ -14306,7 +14960,7 @@ public void CalcCustomRectUV(ImFontAtlasCustomRect rect, Vector2 out_uv_min, Vec } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2808. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2923. // DEBUG: bool GetMouseCursorTexData(ImGuiMouseCursor cursor, ImVec2* out_offset, ImVec2* out_size, ImVec2 out_uv_border[2], ImVec2 out_uv_fill[2]) public bool GetMouseCursorTexData(ImGuiMouseCursor cursor, Vector2 out_offset, Vector2 out_size, Span out_uv_border, Span out_uv_fill) { @@ -14360,7 +15014,7 @@ public bool GetMouseCursorTexData(ImGuiMouseCursor cursor, Vector2 out_offset, V } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2755. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2870. // DEBUG: ImFont* AddFontFromFileTTF(const char* filename, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromFileTTF(string filename, float size_pixels, ImFontConfig font_cfg = default) { @@ -14368,7 +15022,7 @@ public ImFont AddFontFromFileTTF(string filename, float size_pixels, ImFontConfi return AddFontFromFileTTF(filename, size_pixels, font_cfg, ref param0); } - /// Note: Transfer ownership of 'ttf_data' to ImFontAtlas! Will be deleted after destruction of the atlas. Set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2756.
+ /// Note: Transfer ownership of 'ttf_data' to ImFontAtlas! Will be deleted after destruction of the atlas. Set font_cfg->FontDataOwnedByAtlas=false to keep ownership of your data and it won't be freed.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2871.
// DEBUG: ImFont* AddFontFromMemoryTTF(void* font_data, int font_size, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromMemoryTTF(IntPtr font_data, int font_size, float size_pixels, ImFontConfig font_cfg = default) { @@ -14376,7 +15030,7 @@ public ImFont AddFontFromMemoryTTF(IntPtr font_data, int font_size, float size_p return AddFontFromMemoryTTF(font_data, font_size, size_pixels, font_cfg, ref param0); } - /// 'compressed_font_data' still owned by caller. Compress with binary_to_compressed_c.cpp.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2757.
+ /// 'compressed_font_data' still owned by caller. Compress with binary_to_compressed_c.cpp.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2872.
// DEBUG: ImFont* AddFontFromMemoryCompressedTTF(const void* compressed_font_data, int compressed_font_size, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromMemoryCompressedTTF(IntPtr compressed_font_data, int compressed_font_size, float size_pixels, ImFontConfig font_cfg = default) { @@ -14384,7 +15038,7 @@ public ImFont AddFontFromMemoryCompressedTTF(IntPtr compressed_font_data, int co return AddFontFromMemoryCompressedTTF(compressed_font_data, compressed_font_size, size_pixels, font_cfg, ref param0); } - /// 'compressed_font_data_base85' still owned by caller. Compress with binary_to_compressed_c.cpp with -base85 parameter.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2758.
+ /// 'compressed_font_data_base85' still owned by caller. Compress with binary_to_compressed_c.cpp with -base85 parameter.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2873.
// DEBUG: ImFont* AddFontFromMemoryCompressedBase85TTF(const char* compressed_font_data_base85, float size_pixels, const ImFontConfig* font_cfg = NULL, const ImWchar* glyph_ranges = NULL) public ImFont AddFontFromMemoryCompressedBase85TTF(string compressed_font_data_base85, float size_pixels, ImFontConfig font_cfg = default) { @@ -14392,7 +15046,7 @@ public ImFont AddFontFromMemoryCompressedBase85TTF(string compressed_font_data_b return AddFontFromMemoryCompressedBase85TTF(compressed_font_data_base85, size_pixels, font_cfg, ref param0); } - /// 1 byte per-pixel.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2770.
+ /// 1 byte per-pixel.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2885.
// DEBUG: void GetTexDataAsAlpha8(unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = NULL) public void GetTexDataAsAlpha8(byte** out_pixels, ref int out_width, ref int out_height) { @@ -14400,7 +15054,7 @@ public void GetTexDataAsAlpha8(byte** out_pixels, ref int out_width, ref int out GetTexDataAsAlpha8(out_pixels, ref out_width, ref out_height, ref param0); } - /// 4 bytes-per-pixel.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2771.
+ /// 4 bytes-per-pixel.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2886.
// DEBUG: void GetTexDataAsRGBA32(unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = NULL) public void GetTexDataAsRGBA32(byte** out_pixels, ref int out_width, ref int out_height) { @@ -14408,14 +15062,14 @@ public void GetTexDataAsRGBA32(byte** out_pixels, ref int out_width, ref int out GetTexDataAsRGBA32(out_pixels, ref out_width, ref out_height, ref param0); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2803. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2918. // DEBUG: int AddCustomRectFontGlyph(ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2& offset = ImVec2(0, 0)) public int AddCustomRectFontGlyph(ImFont font, ushort id, int width, int height, float advance_x) { return AddCustomRectFontGlyph(font, id, width, height, advance_x, new Vector2(0, 0)); } - /// Build flags (see ImFontAtlasFlags_).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2814.
+ /// Build flags (see ImFontAtlasFlags_).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2929.
public ImFontAtlasFlags Flags { get @@ -14429,7 +15083,7 @@ public ImFontAtlasFlags Flags } } - /// User data to refer to the texture once it has been uploaded to user's graphic systems. It is passed back to you during rendering via the ImDrawCmd structure.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2815.
+ /// User data to refer to the texture once it has been uploaded to user's graphic systems. It is passed back to you during rendering via the ImDrawCmd structure.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2930.
public IntPtr TexID { get @@ -14443,7 +15097,7 @@ public IntPtr TexID } } - /// Texture width desired by user before Build(). Must be a power-of-two. If have many glyphs your graphics API have texture size restrictions you may want to increase texture width to decrease height.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2816.
+ /// Texture width desired by user before Build(). Must be a power-of-two. If have many glyphs your graphics API have texture size restrictions you may want to increase texture width to decrease height.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2931.
public int TexDesiredWidth { get @@ -14457,7 +15111,7 @@ public int TexDesiredWidth } } - /// Padding between glyphs within texture in pixels. Defaults to 1. If your rendering method doesn't rely on bilinear filtering you may set this to 0 (will also need to set AntiAliasedLinesUseTex = false).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2817.
+ /// Padding between glyphs within texture in pixels. Defaults to 1. If your rendering method doesn't rely on bilinear filtering you may set this to 0 (will also need to set AntiAliasedLinesUseTex = false).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2932.
public int TexGlyphPadding { get @@ -14471,7 +15125,7 @@ public int TexGlyphPadding } } - /// Marked as Locked by ImGui::NewFrame() so attempt to modify the atlas will assert.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2818.
+ /// Marked as Locked by ImGui::NewFrame() so attempt to modify the atlas will assert.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2933.
public bool Locked { get @@ -14485,7 +15139,7 @@ public bool Locked } } - /// Set when texture was built matching current font input.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2822.
+ /// Set when texture was built matching current font input.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2937.
public bool TexReady { get @@ -14499,7 +15153,7 @@ public bool TexReady } } - /// Tell whether our texture data is known to use colors (rather than just alpha channel), in order to help backend select a format.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2823.
+ /// Tell whether our texture data is known to use colors (rather than just alpha channel), in order to help backend select a format.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2938.
public bool TexPixelsUseColors { get @@ -14513,7 +15167,7 @@ public bool TexPixelsUseColors } } - /// 1 component per pixel, each component is unsigned 8-bit. Total size = TexWidth * TexHeight.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2824.
+ /// 1 component per pixel, each component is unsigned 8-bit. Total size = TexWidth * TexHeight.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2939.
public byte* TexPixelsAlpha8 { get @@ -14527,7 +15181,7 @@ public byte* TexPixelsAlpha8 } } - /// 4 component per pixel, each component is unsigned 8-bit. Total size = TexWidth * TexHeight * 4.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2825.
+ /// 4 component per pixel, each component is unsigned 8-bit. Total size = TexWidth * TexHeight * 4.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2940.
public uint* TexPixelsRGBA32 { get @@ -14541,7 +15195,7 @@ public uint* TexPixelsRGBA32 } } - /// Texture width calculated during Build().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2826.
+ /// Texture width calculated during Build().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2941.
public int TexWidth { get @@ -14555,7 +15209,7 @@ public int TexWidth } } - /// Texture height calculated during Build().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2827.
+ /// Texture height calculated during Build().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2942.
public int TexHeight { get @@ -14569,7 +15223,7 @@ public int TexHeight } } - /// = (1.0f/TexWidth, 1.0f/TexHeight).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2828.
+ /// = (1.0f/TexWidth, 1.0f/TexHeight).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2943.
public Vector2 TexUvScale { get @@ -14589,7 +15243,7 @@ public Vector2 TexUvScale } } - /// Texture coordinates to a white pixel.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2829.
+ /// Texture coordinates to a white pixel.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2944.
public Vector2 TexUvWhitePixel { get @@ -14609,7 +15263,7 @@ public Vector2 TexUvWhitePixel } } - /// Hold all the fonts returned by AddFont*. Fonts[0] is the default font upon calling ImGui::NewFrame(), use ImGui::PushFont()/PopFont() to change the current font.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2830.
+ /// Hold all the fonts returned by AddFont*. Fonts[0] is the default font upon calling ImGui::NewFrame(), use ImGui::PushFont()/PopFont() to change the current font.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2945.
public ImVector Fonts { get @@ -14620,7 +15274,7 @@ public ImVector Fonts } } - /// Rectangles for packing custom texture data into the atlas.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2831.
+ /// Rectangles for packing custom texture data into the atlas.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2946.
public ImVector CustomRects { get @@ -14631,7 +15285,7 @@ public ImVector CustomRects } } - /// Configuration data.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2832.
+ /// Configuration data.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2947.
public ImVector ConfigData { get @@ -14642,7 +15296,7 @@ public ImVector ConfigData } } - /// Opaque interface to a font builder (default to stb_truetype, can be changed to use FreeType by defining IMGUI_ENABLE_FREETYPE).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2836.
+ /// Opaque interface to a font builder (default to stb_truetype, can be changed to use FreeType by defining IMGUI_ENABLE_FREETYPE).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2951.
public ImFontBuilderIO FontBuilderIO { get @@ -14652,7 +15306,7 @@ public ImFontBuilderIO FontBuilderIO } } - /// Shared flags (for all fonts) for custom font builder. THIS IS BUILD IMPLEMENTATION DEPENDENT. Per-font override is also available in ImFontConfig.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2837.
+ /// Shared flags (for all fonts) for custom font builder. THIS IS BUILD IMPLEMENTATION DEPENDENT. Per-font override is also available in ImFontConfig.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2952.
public uint FontBuilderFlags { get @@ -14666,7 +15320,7 @@ public uint FontBuilderFlags } } - /// Custom texture rectangle ID for white pixel and mouse cursors.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2840.
+ /// Custom texture rectangle ID for white pixel and mouse cursors.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2955.
public int PackIdMouseCursors { get @@ -14680,7 +15334,7 @@ public int PackIdMouseCursors } } - /// Custom texture rectangle ID for baked anti-aliased lines.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2841.
+ /// Custom texture rectangle ID for baked anti-aliased lines.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2956.
public int PackIdLines { get @@ -14694,7 +15348,7 @@ public int PackIdLines } } - /// Basic Latin, Extended Latin.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2782.
+ /// Basic Latin, Extended Latin.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2897.
public ushort* GlyphRangesDefault { get @@ -14704,7 +15358,7 @@ public ushort* GlyphRangesDefault } } - /// Default + Korean characters.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2783.
+ /// Default + Korean characters.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2898.
public ushort* GlyphRangesKorean { get @@ -14714,7 +15368,7 @@ public ushort* GlyphRangesKorean } } - /// Default + Hiragana, Katakana, Half-Width, Selection of 2999 Ideographs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2784.
+ /// Default + Hiragana, Katakana, Half-Width, Selection of 2999 Ideographs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2899.
public ushort* GlyphRangesJapanese { get @@ -14724,7 +15378,7 @@ public ushort* GlyphRangesJapanese } } - /// Default + Half-Width + Japanese Hiragana/Katakana + full set of about 21000 CJK Unified Ideographs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2785.
+ /// Default + Half-Width + Japanese Hiragana/Katakana + full set of about 21000 CJK Unified Ideographs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2900.
public ushort* GlyphRangesChineseFull { get @@ -14734,7 +15388,7 @@ public ushort* GlyphRangesChineseFull } } - /// Default + Half-Width + Japanese Hiragana/Katakana + set of 2500 CJK Unified Ideographs for common simplified Chinese.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2786.
+ /// Default + Half-Width + Japanese Hiragana/Katakana + set of 2500 CJK Unified Ideographs for common simplified Chinese.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2901.
public ushort* GlyphRangesChineseSimplifiedCommon { get @@ -14744,7 +15398,7 @@ public ushort* GlyphRangesChineseSimplifiedCommon } } - /// Default + about 400 Cyrillic characters.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2787.
+ /// Default + about 400 Cyrillic characters.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2902.
public ushort* GlyphRangesCyrillic { get @@ -14754,7 +15408,7 @@ public ushort* GlyphRangesCyrillic } } - /// Default + Thai characters.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2788.
+ /// Default + Thai characters.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2903.
public ushort* GlyphRangesThai { get @@ -14764,7 +15418,7 @@ public ushort* GlyphRangesThai } } - /// Default + Vietnamese characters.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2789.
+ /// Default + Vietnamese characters.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2904.
public ushort* GlyphRangesVietnamese { get @@ -14775,7 +15429,7 @@ public ushort* GlyphRangesVietnamese } } - /// Font runtime data and rendering.
ImFontAtlas automatically loads a default embedded font for you when you call GetTexDataAsAlpha8() or GetTexDataAsRGBA32().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2850.
+ /// Font runtime data and rendering.
ImFontAtlas automatically loads a default embedded font for you when you call GetTexDataAsAlpha8() or GetTexDataAsRGBA32().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2965.
// DEBUG: struct ImFont // DEBUG: { // DEBUG: // Members: Hot ~20/24 bytes (for CalcTextSize) @@ -14980,6 +15634,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImFont ma private protected bool __ownsNativeInstance; internal static ImFont __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImFont(native.ToPointer(), skipVTables); } @@ -15028,7 +15684,7 @@ private protected ImFont(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// Methods.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2876.
+ /// Methods.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2991.
// DEBUG: ImFont() public ImFont() { @@ -15045,7 +15701,7 @@ public ImFont() } } - /// Font runtime data and rendering.
ImFontAtlas automatically loads a default embedded font for you when you call GetTexDataAsAlpha8() or GetTexDataAsRGBA32().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2850.
+ /// Font runtime data and rendering.
ImFontAtlas automatically loads a default embedded font for you when you call GetTexDataAsAlpha8() or GetTexDataAsRGBA32().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2965.
// DEBUG: ImFont public ImFont(ImFont _0) { @@ -15061,12 +15717,1205 @@ public ImFont(ImFont _0) } else { - __Internal32.cctor(__Instance, __arg0); + __Internal32.cctor(__Instance, __arg0); + } + } + + /// + ~ImFont() + { + Dispose(false, callNativeDtor: __ownsNativeInstance); + } + + /// + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + GC.SuppressFinalize(this); + } + + partial void DisposePartial(bool disposing); + private protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + if (Environment.Is64BitProcess) + { + __Internal64.dtor(__Instance); + } + else + { + __Internal32.dtor(__Instance); + } + + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2993. + // DEBUG: const ImFontGlyph*FindGlyph(ImWchar c) const + public ImFontGlyph FindGlyph(ushort c) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.FindGlyph(__Instance, c) : __Internal32.FindGlyph(__Instance, c); + var __result0 = ImFontGlyph.__GetOrCreateInstance(___ret, false); + return __result0; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2994. + // DEBUG: const ImFontGlyph*FindGlyphNoFallback(ImWchar c) const + public ImFontGlyph FindGlyphNoFallback(ushort c) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.FindGlyphNoFallback(__Instance, c) : __Internal32.FindGlyphNoFallback(__Instance, c); + var __result0 = ImFontGlyph.__GetOrCreateInstance(___ret, false); + return __result0; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2995. + // DEBUG: float GetCharAdvance(ImWchar c) const { return ((int)c < IndexAdvanceX.Size) ? IndexAdvanceX[(int)c] : FallbackAdvanceX; } + public float GetCharAdvance(ushort c) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.GetCharAdvance(__Instance, c) : __Internal32.GetCharAdvance(__Instance, c); + return ___ret; + } + + /// Utf8.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3001.
+ // DEBUG: ImVec2 CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end = NULL, const char** remaining = NULL) const + public Vector2 CalcTextSizeA(float size, float max_width, float wrap_width, string text_begin, string text_end = default, char** remaining = default) + { + var __arg5 = (sbyte**)&remaining; + var ___ret = new Vector2(); + if (Environment.Is64BitProcess) + { + __Internal64.CalcTextSizeA(__Instance, new IntPtr(&___ret), size, max_width, wrap_width, text_begin, text_end, __arg5); + } + else + { + __Internal32.CalcTextSizeA(__Instance, new IntPtr(&___ret), size, max_width, wrap_width, text_begin, text_end, __arg5); + } + + return ___ret + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 6 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: True, ReturnVarName: True */ + ; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3002. + // DEBUG: const char* CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width) const + public string CalcWordWrapPositionA(float scale, string text, string text_end, float wrap_width) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.CalcWordWrapPositionA(__Instance, scale, text, text_end, wrap_width) : __Internal32.CalcWordWrapPositionA(__Instance, scale, text, text_end, wrap_width); + return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3003. + // DEBUG: void RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c) const + public void RenderChar(ImDrawList draw_list, float size, Vector2 pos, uint col, ushort c) + { + var ____arg0 = draw_list.__Instance; + var __arg0 = new IntPtr(&____arg0); + var __arg2 = new IntPtr(Unsafe.AsPointer(ref pos)) + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 4 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: True, ReturnVarName: False */ + ; + if (Environment.Is64BitProcess) + { + __Internal64.RenderChar(__Instance, __arg0, size, __arg2, col, c); + } + else + { + __Internal32.RenderChar(__Instance, __arg0, size, __arg2, col, c); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3004. + // DEBUG: void RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width = 0.0f, bool cpu_fine_clip = false) const + public void RenderText(ImDrawList draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, string text_begin, string text_end, float wrap_width = 0.0F, bool cpu_fine_clip = false) + { + var ____arg0 = draw_list.__Instance; + var __arg0 = new IntPtr(&____arg0); + var __arg2 = new IntPtr(Unsafe.AsPointer(ref pos)) + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 4 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: True, ReturnVarName: False */ + ; + var __arg4 = new IntPtr(Unsafe.AsPointer(ref clip_rect)) + /* DEBUG: TypeMapImVec4.CSharpMarshalToNative: Case 4 */ + /* DEBUG: TypeMapImVec4.CSharpMarshalToNative: Function: True, ReturnVarName: False */ + ; + if (Environment.Is64BitProcess) + { + __Internal64.RenderText(__Instance, __arg0, size, __arg2, col, __arg4, text_begin, text_end, wrap_width, cpu_fine_clip); + } + else + { + __Internal32.RenderText(__Instance, __arg0, size, __arg2, col, __arg4, text_begin, text_end, wrap_width, cpu_fine_clip); + } + } + + /// [Internal] Don't use!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3007.
+ // DEBUG: void BuildLookupTable() + public void BuildLookupTable() + { + if (Environment.Is64BitProcess) + { + __Internal64.BuildLookupTable(__Instance); + } + else + { + __Internal32.BuildLookupTable(__Instance); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3008. + // DEBUG: void ClearOutputData() + public void ClearOutputData() + { + if (Environment.Is64BitProcess) + { + __Internal64.ClearOutputData(__Instance); + } + else + { + __Internal32.ClearOutputData(__Instance); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3009. + // DEBUG: void GrowIndex(int new_size) + public void GrowIndex(int new_size) + { + if (Environment.Is64BitProcess) + { + __Internal64.GrowIndex(__Instance, new_size); + } + else + { + __Internal32.GrowIndex(__Instance, new_size); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3010. + // DEBUG: void AddGlyph(const ImFontConfig* src_cfg, ImWchar c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x) + public void AddGlyph(ImFontConfig src_cfg, ushort c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x) + { + var __arg0 = src_cfg is null ? IntPtr.Zero : src_cfg.__Instance; + if (Environment.Is64BitProcess) + { + __Internal64.AddGlyph(__Instance, __arg0, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x); + } + else + { + __Internal32.AddGlyph(__Instance, __arg0, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x); + } + } + + /// Makes 'dst' character/glyph points to 'src' character/glyph. Currently needs to be called AFTER fonts have been built.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3011.
+ // DEBUG: void AddRemapChar(ImWchar dst, ImWchar src, bool overwrite_dst = true) + public void AddRemapChar(ushort dst, ushort src, bool overwrite_dst = true) + { + if (Environment.Is64BitProcess) + { + __Internal64.AddRemapChar(__Instance, dst, src, overwrite_dst); + } + else + { + __Internal32.AddRemapChar(__Instance, dst, src, overwrite_dst); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3012. + // DEBUG: void SetGlyphVisible(ImWchar c, bool visible) + public void SetGlyphVisible(ushort c, bool visible) + { + if (Environment.Is64BitProcess) + { + __Internal64.SetGlyphVisible(__Instance, c, visible); + } + else + { + __Internal32.SetGlyphVisible(__Instance, c, visible); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3013. + // DEBUG: bool IsGlyphRangeUnused(unsigned int c_begin, unsigned int c_last) + public bool IsGlyphRangeUnused(uint c_begin, uint c_last) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.IsGlyphRangeUnused(__Instance, c_begin, c_last) : __Internal32.IsGlyphRangeUnused(__Instance, c_begin, c_last); + return ___ret; + } + + /// 12-16.
Out.
Sparse. Glyphs->AdvanceX in a directly indexable way (cache-friendly for CalcTextSize functions which only this this info, and are often bottleneck in large UI).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2968.
+ public ImVector IndexAdvanceX + { + get + { + return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->IndexAdvanceX)) + /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; + } + } + + /// 4.
Out.
= FallbackGlyph->AdvanceX.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2969.
+ public float FallbackAdvanceX + { + get + { + return ((__Internal*)__Instance)->FallbackAdvanceX; + } + + set + { + ((__Internal*)__Instance)->FallbackAdvanceX = value; + } + } + + /// 4.
In.
Height of characters/line, set during loading (don't change after loading).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2970.
+ public float FontSize + { + get + { + return ((__Internal*)__Instance)->FontSize; + } + + set + { + ((__Internal*)__Instance)->FontSize = value; + } + } + + /// 12-16.
Out.
Sparse. Index glyphs by Unicode code-point.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2973.
+ public ImVector IndexLookup + { + get + { + return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->IndexLookup)) + /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; + } + } + + /// 12-16.
Out.
All glyphs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2974.
+ public ImVector Glyphs + { + get + { + return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->Glyphs)) + /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; + } + } + + /// 4-8.
Out.
= FindGlyph(FontFallbackChar).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2975.
+ public ImFontGlyph FallbackGlyph + { + get + { + var __result0 = ImFontGlyph.__GetOrCreateInstance(((__Internal*)__Instance)->FallbackGlyph, false); + return __result0; + } + } + + /// 4-8.
Out.
What we has been loaded into.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2978.
+ public ImFontAtlas ContainerAtlas + { + get + { + var __result0 = ImFontAtlas.__GetOrCreateInstance(((__Internal*)__Instance)->ContainerAtlas, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->ContainerAtlas = value is null ? IntPtr.Zero : value.__Instance; + } + } + + /// 4-8.
In.
Pointer within ContainerAtlas->ConfigData.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2979.
+ public ImFontConfig ConfigData + { + get + { + var __result0 = ImFontConfig.__GetOrCreateInstance(((__Internal*)__Instance)->ConfigData, false); + return __result0; + } + } + + /// 2.
In.
~ 1.
Number of ImFontConfig involved in creating this font. Bigger than 1 when merging multiple font sources into one ImFont.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2980.
+ public short ConfigDataCount + { + get + { + return ((__Internal*)__Instance)->ConfigDataCount; + } + + set + { + ((__Internal*)__Instance)->ConfigDataCount = value; + } + } + + /// 2.
Out.
= FFFD/'?'.
Character used if a glyph isn't found.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2981.
+ public ushort FallbackChar + { + get + { + return ((__Internal*)__Instance)->FallbackChar; + } + + set + { + ((__Internal*)__Instance)->FallbackChar = value; + } + } + + /// 2.
Out.
= '...'.
Character used for ellipsis rendering.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2982.
+ public ushort EllipsisChar + { + get + { + return ((__Internal*)__Instance)->EllipsisChar; + } + + set + { + ((__Internal*)__Instance)->EllipsisChar = value; + } + } + + /// 2.
Out.
= '.'.
Character used for ellipsis rendering (if a single '...' character isn't found).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2983.
+ public ushort DotChar + { + get + { + return ((__Internal*)__Instance)->DotChar; + } + + set + { + ((__Internal*)__Instance)->DotChar = value; + } + } + + /// 1.
Out.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2984.
+ public bool DirtyLookupTables + { + get + { + return ((__Internal*)__Instance)->DirtyLookupTables != 0; + } + + set + { + ((__Internal*)__Instance)->DirtyLookupTables = (byte)(value ? 1 : 0); + } + } + + /// 4.
In.
= 1.f.
Base font scale, multiplied by the per-window font scale which you can adjust with SetWindowFontScale().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2985.
+ public float Scale + { + get + { + return ((__Internal*)__Instance)->Scale; + } + + set + { + ((__Internal*)__Instance)->Scale = value; + } + } + + /// 4+4.
Out.
Ascent: distance from top to bottom of e.g. 'A' [0..FontSize].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2986.
+ public float Ascent + { + get + { + return ((__Internal*)__Instance)->Ascent; + } + + set + { + ((__Internal*)__Instance)->Ascent = value; + } + } + + /// 4+4.
Out.
Ascent: distance from top to bottom of e.g. 'A' [0..FontSize].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2986.
+ public float Descent + { + get + { + return ((__Internal*)__Instance)->Descent; + } + + set + { + ((__Internal*)__Instance)->Descent = value; + } + } + + /// 4.
Out.
Total surface in pixels to get an idea of the font rasterization/texture cost (not exact, we approximate the cost of padding between glyphs).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2987.
+ public int MetricsTotalSurface + { + get + { + return ((__Internal*)__Instance)->MetricsTotalSurface; + } + + set + { + ((__Internal*)__Instance)->MetricsTotalSurface = value; + } + } + + /// 2 bytes if ImWchar=ImWchar16, 34 bytes if ImWchar==ImWchar32. Store 1-bit for each block of 4K codepoints that has one active glyph. This is mainly used to facilitate iterations across all used codepoints.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L2988.
+ public Span Used4kPagesMap + { + get + { + return new Span(((__Internal*)__Instance)->Used4kPagesMap, 2); + } + + set + { + if (value != null) + { + for (int i = 0; i < 2; i++) + ((__Internal*)__Instance)->Used4kPagesMap[i] = value[i]; + } + } + } + } + + /// - Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows.
- With multi-viewport enabled, we extend this concept to have multiple active viewports.
- In the future we will extend this concept further to also represent Platform Monitor and support a "no main platform window" operation mode.
- About Main Area vs Work Area:.
- Main Area = entire viewport.
- Work Area = entire viewport minus sections used by main menu bars (for platform windows), or by task bar (for platform monitor).
- Windows are generally trying to stay within the Work Area of their host viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3046.
+ // DEBUG: struct ImGuiViewport + // DEBUG: { + // DEBUG: ImGuiID ID; // Unique identifier for the viewport + // DEBUG: ImGuiViewportFlags Flags; // See ImGuiViewportFlags_ + // DEBUG: ImVec2 Pos; // Main Area: Position of the viewport (Dear ImGui coordinates are the same as OS desktop/native coordinates) + // DEBUG: ImVec2 Size; // Main Area: Size of the viewport. + // DEBUG: ImVec2 WorkPos; // Work Area: Position of the viewport minus task bars, menus bars, status bars (>= Pos) + // DEBUG: ImVec2 WorkSize; // Work Area: Size of the viewport minus task bars, menu bars, status bars (<= Size) + // DEBUG: float DpiScale; // 1.0f = 96 DPI = No extra scale. + // DEBUG: ImGuiID ParentViewportId; // (Advanced) 0: no parent. Instruct the platform backend to setup a parent/child relationship between platform windows. + // DEBUG: ImDrawData* DrawData; // The ImDrawData corresponding to this viewport. Valid after Render() and until the next call to NewFrame(). + // DEBUG: + // DEBUG: // Platform/Backend Dependent Data + // DEBUG: // Our design separate the Renderer and Platform backends to facilitate combining default backends with each others. + // DEBUG: // When our create your own backend for a custom engine, it is possible that both Renderer and Platform will be handled + // DEBUG: // by the same system and you may not need to use all the UserData/Handle fields. + // DEBUG: // The library never uses those fields, they are merely storage to facilitate backend implementation. + // DEBUG: void* RendererUserData; // void* to hold custom data structure for the renderer (e.g. swap chain, framebuffers etc.). generally set by your Renderer_CreateWindow function. + // DEBUG: void* PlatformUserData; // void* to hold custom data structure for the OS / platform (e.g. windowing info, render context). generally set by your Platform_CreateWindow function. + // DEBUG: void* PlatformHandle; // void* for FindViewportByPlatformHandle(). (e.g. suggested to use natural platform handle such as HWND, GLFWWindow*, SDL_Window*) + // DEBUG: void* PlatformHandleRaw; // void* to hold lower-level, platform-native window handle (under Win32 this is expected to be a HWND, unused for other platforms), when using an abstraction layer like GLFW or SDL (where PlatformHandle would be a SDL_Window*) + // DEBUG: bool PlatformRequestMove; // Platform window requested move (e.g. window was moved by the OS / host window manager, authoritative position will be OS window position) + // DEBUG: bool PlatformRequestResize; // Platform window requested resize (e.g. window was resized by the OS / host window manager, authoritative size will be OS window size) + // DEBUG: bool PlatformRequestClose; // Platform window requested closure (e.g. window was moved by the OS / host window manager, e.g. pressing ALT-F4) + // DEBUG: + // DEBUG: ImGuiViewport() { memset(this, 0, sizeof(*this)); } + // DEBUG: ~ImGuiViewport() { IM_ASSERT(PlatformUserData == NULL && RendererUserData == NULL); } + // DEBUG: + // DEBUG: // Helpers + // DEBUG: ImVec2 GetCenter() const { return ImVec2(Pos.x + Size.x * 0.5f, Pos.y + Size.y * 0.5f); } + // DEBUG: ImVec2 GetWorkCenter() const { return ImVec2(WorkPos.x + WorkSize.x * 0.5f, WorkPos.y + WorkSize.y * 0.5f); } + // DEBUG: } + public unsafe partial class ImGuiViewport : IDisposable + { + [StructLayout(LayoutKind.Sequential)] + internal partial struct __Internal + { + internal uint ID; + internal ImGuiViewportFlags Flags; + internal Vector2 Pos; + internal Vector2 Size; + internal Vector2 WorkPos; + internal Vector2 WorkSize; + internal float DpiScale; + internal uint ParentViewportId; + internal IntPtr DrawData; + internal IntPtr RendererUserData; + internal IntPtr PlatformUserData; + internal IntPtr PlatformHandle; + internal IntPtr PlatformHandleRaw; + internal byte PlatformRequestMove; + internal byte PlatformRequestResize; + internal byte PlatformRequestClose; + } + + private partial struct __Internal32 + { + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr ctor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QAE@ABU0@@Z", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr cctor(IntPtr __instance, IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??1ImGuiViewport@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern void dtor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetCenter@ImGuiViewport@@QBE?AUImVec2@@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern void GetCenter(IntPtr __instance, IntPtr @return); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWorkCenter@ImGuiViewport@@QBE?AUImVec2@@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern void GetWorkCenter(IntPtr __instance, IntPtr @return); + + } + + private partial struct __Internal64 + { + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr ctor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QEAA@AEBU0@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr cctor(IntPtr __instance, IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??1ImGuiViewport@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void dtor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetCenter@ImGuiViewport@@QEBA?AUImVec2@@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void GetCenter(IntPtr __instance, IntPtr @return); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWorkCenter@ImGuiViewport@@QEBA?AUImVec2@@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void GetWorkCenter(IntPtr __instance, IntPtr @return); + + } + + internal IntPtr __Instance { get; set; } + + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiViewport managed) + { + NativeToManagedMap[native] = new WeakReference(managed); + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiViewport managed) + { + managed = default; + return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); + } + + private protected bool __ownsNativeInstance; + internal static ImGuiViewport __CreateInstance(IntPtr native, bool skipVTables = false) + { + if (native == IntPtr.Zero) + return null; + return new ImGuiViewport(native.ToPointer(), skipVTables); + } + + internal static ImGuiViewport __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ImGuiViewport)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ImGuiViewport __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ImGuiViewport(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__Internal*)ret = native; + return ret.ToPointer(); + } + + private ImGuiViewport(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + private protected ImGuiViewport(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new IntPtr(native); + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3071. + // DEBUG: ImGuiViewport() { memset(this, 0, sizeof(*this)); } + public ImGuiViewport() + { + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiViewport.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (Environment.Is64BitProcess) + { + __Internal64.ctor(__Instance); + } + else + { + __Internal32.ctor(__Instance); + } + } + + /// - Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows.
- With multi-viewport enabled, we extend this concept to have multiple active viewports.
- In the future we will extend this concept further to also represent Platform Monitor and support a "no main platform window" operation mode.
- About Main Area vs Work Area:.
- Main Area = entire viewport.
- Work Area = entire viewport minus sections used by main menu bars (for platform windows), or by task bar (for platform monitor).
- Windows are generally trying to stay within the Work Area of their host viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3046.
+ // DEBUG: ImGuiViewport + public ImGuiViewport(ImGuiViewport _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiViewport.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((ImGuiViewport.__Internal*)__Instance) = *((ImGuiViewport.__Internal*)_0.__Instance); + } + + /// + ~ImGuiViewport() + { + Dispose(false, callNativeDtor: __ownsNativeInstance); + } + + /// + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + GC.SuppressFinalize(this); + } + + partial void DisposePartial(bool disposing); + private protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + if (Environment.Is64BitProcess) + { + __Internal64.dtor(__Instance); + } + else + { + __Internal32.dtor(__Instance); + } + + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + /// Unique identifier for the viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3048.
+ public uint ID + { + get + { + return ((__Internal*)__Instance)->ID; + } + + set + { + ((__Internal*)__Instance)->ID = value; + } + } + + /// See ImGuiViewportFlags_.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3049.
+ public ImGuiViewportFlags Flags + { + get + { + return ((__Internal*)__Instance)->Flags; + } + + set + { + ((__Internal*)__Instance)->Flags = value; + } + } + + /// Main Area: Position of the viewport (Dear ImGui coordinates are the same as OS desktop/native coordinates).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3050.
+ public Vector2 Pos + { + get + { + return ((__Internal*)__Instance)->Pos + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; + } + + set + { + ((__Internal*)__Instance)->Pos = value + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: False, ReturnVarName: True */ + ; + } + } + + /// Main Area: Size of the viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3051.
+ public Vector2 Size + { + get + { + return ((__Internal*)__Instance)->Size + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; + } + + set + { + ((__Internal*)__Instance)->Size = value + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: False, ReturnVarName: True */ + ; + } + } + + /// Work Area: Position of the viewport minus task bars, menus bars, status bars (>= Pos).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3052.
+ public Vector2 WorkPos + { + get + { + return ((__Internal*)__Instance)->WorkPos + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; + } + + set + { + ((__Internal*)__Instance)->WorkPos = value + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: False, ReturnVarName: True */ + ; + } + } + + /// Work Area: Size of the viewport minus task bars, menu bars, status bars (<= Size).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3053.
+ public Vector2 WorkSize + { + get + { + return ((__Internal*)__Instance)->WorkSize + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; + } + + set + { + ((__Internal*)__Instance)->WorkSize = value + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 2 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: False, ReturnVarName: True */ + ; + } + } + + /// 1.0f = 96 DPI = No extra scale.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3054.
+ public float DpiScale + { + get + { + return ((__Internal*)__Instance)->DpiScale; + } + + set + { + ((__Internal*)__Instance)->DpiScale = value; + } + } + + /// (Advanced) 0: no parent. Instruct the platform backend to setup a parent/child relationship between platform windows.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3055.
+ public uint ParentViewportId + { + get + { + return ((__Internal*)__Instance)->ParentViewportId; + } + + set + { + ((__Internal*)__Instance)->ParentViewportId = value; + } + } + + /// The ImDrawData corresponding to this viewport. Valid after Render() and until the next call to NewFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3056.
+ public ImDrawData DrawData + { + get + { + var __result0 = ((__Internal*)__Instance)->DrawData != IntPtr.Zero ? ImDrawData.__CreateInstance(((__Internal*)__Instance)->DrawData) : default; + return __result0; + } + + set + { + var __value = value.__Instance; + ((__Internal*)__Instance)->DrawData = new IntPtr(&__value); + } + } + + /// Void* to hold custom data structure for the renderer (e.g. swap chain, framebuffers etc.). generally set by your Renderer_CreateWindow function.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3063.
+ public IntPtr RendererUserData + { + get + { + return ((__Internal*)__Instance)->RendererUserData; + } + + set + { + ((__Internal*)__Instance)->RendererUserData = (IntPtr)value; + } + } + + /// Void* to hold custom data structure for the OS / platform (e.g. windowing info, render context). generally set by your Platform_CreateWindow function.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3064.
+ public IntPtr PlatformUserData + { + get + { + return ((__Internal*)__Instance)->PlatformUserData; + } + + set + { + ((__Internal*)__Instance)->PlatformUserData = (IntPtr)value; + } + } + + /// Void* for FindViewportByPlatformHandle(). (e.g. suggested to use natural platform handle such as HWND, GLFWWindow*, SDL_Window*).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3065.
+ public IntPtr PlatformHandle + { + get + { + return ((__Internal*)__Instance)->PlatformHandle; + } + + set + { + ((__Internal*)__Instance)->PlatformHandle = (IntPtr)value; + } + } + + /// Void* to hold lower-level, platform-native window handle (under Win32 this is expected to be a HWND, unused for other platforms), when using an abstraction layer like GLFW or SDL (where PlatformHandle would be a SDL_Window*).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3066.
+ public IntPtr PlatformHandleRaw + { + get + { + return ((__Internal*)__Instance)->PlatformHandleRaw; + } + + set + { + ((__Internal*)__Instance)->PlatformHandleRaw = (IntPtr)value; + } + } + + /// Platform window requested move (e.g. window was moved by the OS / host window manager, authoritative position will be OS window position).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3067.
+ public bool PlatformRequestMove + { + get + { + return ((__Internal*)__Instance)->PlatformRequestMove != 0; + } + + set + { + ((__Internal*)__Instance)->PlatformRequestMove = (byte)(value ? 1 : 0); + } + } + + /// Platform window requested resize (e.g. window was resized by the OS / host window manager, authoritative size will be OS window size).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3068.
+ public bool PlatformRequestResize + { + get + { + return ((__Internal*)__Instance)->PlatformRequestResize != 0; + } + + set + { + ((__Internal*)__Instance)->PlatformRequestResize = (byte)(value ? 1 : 0); + } + } + + /// Platform window requested closure (e.g. window was moved by the OS / host window manager, e.g. pressing ALT-F4).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3069.
+ public bool PlatformRequestClose + { + get + { + return ((__Internal*)__Instance)->PlatformRequestClose != 0; + } + + set + { + ((__Internal*)__Instance)->PlatformRequestClose = (byte)(value ? 1 : 0); + } + } + + /// Helpers.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3075.
+ public Vector2 Center + { + get + { + var ___ret = new Vector2(); + if (Environment.Is64BitProcess) + { + __Internal64.GetCenter(__Instance, new IntPtr(&___ret)); + } + else + { + __Internal32.GetCenter(__Instance, new IntPtr(&___ret)); + } + + return ___ret + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 6 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: True, ReturnVarName: True */ + ; + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3076. + public Vector2 WorkCenter + { + get + { + var ___ret = new Vector2(); + if (Environment.Is64BitProcess) + { + __Internal64.GetWorkCenter(__Instance, new IntPtr(&___ret)); + } + else + { + __Internal32.GetWorkCenter(__Instance, new IntPtr(&___ret)); + } + + return ___ret + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 6 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: True, ReturnVarName: True */ + ; + } + } + } + + /// (Optional) Access via ImGui::GetPlatformIO().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3129.
+ // DEBUG: struct ImGuiPlatformIO + // DEBUG: { + // DEBUG: //------------------------------------------------------------------ + // DEBUG: // Input - Backend interface/functions + Monitor List + // DEBUG: //------------------------------------------------------------------ + // DEBUG: + // DEBUG: // (Optional) Platform functions (e.g. Win32, GLFW, SDL2) + // DEBUG: // For reference, the second column shows which function are generally calling the Platform Functions: + // DEBUG: // N = ImGui::NewFrame() ~ beginning of the dear imgui frame: read info from platform/OS windows (latest size/position) + // DEBUG: // F = ImGui::Begin(), ImGui::EndFrame() ~ during the dear imgui frame + // DEBUG: // U = ImGui::UpdatePlatformWindows() ~ after the dear imgui frame: create and update all platform/OS windows + // DEBUG: // R = ImGui::RenderPlatformWindowsDefault() ~ render + // DEBUG: // D = ImGui::DestroyPlatformWindows() ~ shutdown + // DEBUG: // The general idea is that NewFrame() we will read the current Platform/OS state, and UpdatePlatformWindows() will write to it. + // DEBUG: // + // DEBUG: // The functions are designed so we can mix and match 2 imgui_impl_xxxx files, one for the Platform (~window/input handling), one for Renderer. + // DEBUG: // Custom engine backends will often provide both Platform and Renderer interfaces and so may not need to use all functions. + // DEBUG: // Platform functions are typically called before their Renderer counterpart, apart from Destroy which are called the other way. + // DEBUG: + // DEBUG: // Platform function --------------------------------------------------- Called by ----- + // DEBUG: void (*Platform_CreateWindow)(ImGuiViewport* vp); // . . U . . // Create a new platform window for the given viewport + // DEBUG: void (*Platform_DestroyWindow)(ImGuiViewport* vp); // N . U . D // + // DEBUG: void (*Platform_ShowWindow)(ImGuiViewport* vp); // . . U . . // Newly created windows are initially hidden so SetWindowPos/Size/Title can be called on them before showing the window + // DEBUG: void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2 pos); // . . U . . // Set platform window position (given the upper-left corner of client area) + // DEBUG: ImVec2 (*Platform_GetWindowPos)(ImGuiViewport* vp); // N . . . . // + // DEBUG: void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); // . . U . . // Set platform window client area size (ignoring OS decorations such as OS title bar etc.) + // DEBUG: ImVec2 (*Platform_GetWindowSize)(ImGuiViewport* vp); // N . . . . // Get platform window client area size + // DEBUG: void (*Platform_SetWindowFocus)(ImGuiViewport* vp); // N . . . . // Move window to front and set input focus + // DEBUG: bool (*Platform_GetWindowFocus)(ImGuiViewport* vp); // . . U . . // + // DEBUG: bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp); // N . . . . // Get platform window minimized state. When minimized, we generally won't attempt to get/set size and contents will be culled more easily + // DEBUG: void (*Platform_SetWindowTitle)(ImGuiViewport* vp, const char* str); // . . U . . // Set platform window title (given an UTF-8 string) + // DEBUG: void (*Platform_SetWindowAlpha)(ImGuiViewport* vp, float alpha); // . . U . . // (Optional) Setup global transparency (not per-pixel transparency) + // DEBUG: void (*Platform_UpdateWindow)(ImGuiViewport* vp); // . . U . . // (Optional) Called by UpdatePlatformWindows(). Optional hook to allow the platform backend from doing general book-keeping every frame. + // DEBUG: void (*Platform_RenderWindow)(ImGuiViewport* vp, void* render_arg); // . . . R . // (Optional) Main rendering (platform side! This is often unused, or just setting a "current" context for OpenGL bindings). 'render_arg' is the value passed to RenderPlatformWindowsDefault(). + // DEBUG: void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg); // . . . R . // (Optional) Call Present/SwapBuffers (platform side! This is often unused!). 'render_arg' is the value passed to RenderPlatformWindowsDefault(). + // DEBUG: float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp); // N . . . . // (Optional) [BETA] FIXME-DPI: DPI handling: Return DPI scale for this viewport. 1.0f = 96 DPI. + // DEBUG: void (*Platform_OnChangedViewport)(ImGuiViewport* vp); // . F . . . // (Optional) [BETA] FIXME-DPI: DPI handling: Called during Begin() every time the viewport we are outputting into changes, so backend has a chance to swap fonts to adjust style. + // DEBUG: int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface); // (Optional) For a Vulkan Renderer to call into Platform code (since the surface creation needs to tie them both). + // DEBUG: + // DEBUG: // (Optional) Renderer functions (e.g. DirectX, OpenGL, Vulkan) + // DEBUG: void (*Renderer_CreateWindow)(ImGuiViewport* vp); // . . U . . // Create swap chain, frame buffers etc. (called after Platform_CreateWindow) + // DEBUG: void (*Renderer_DestroyWindow)(ImGuiViewport* vp); // N . U . D // Destroy swap chain, frame buffers etc. (called before Platform_DestroyWindow) + // DEBUG: void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2 size); // . . U . . // Resize swap chain, frame buffers etc. (called after Platform_SetWindowSize) + // DEBUG: void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg); // . . . R . // (Optional) Clear framebuffer, setup render target, then render the viewport->DrawData. 'render_arg' is the value passed to RenderPlatformWindowsDefault(). + // DEBUG: void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg); // . . . R . // (Optional) Call Present/SwapBuffers. 'render_arg' is the value passed to RenderPlatformWindowsDefault(). + // DEBUG: + // DEBUG: // (Optional) Monitor list + // DEBUG: // - Updated by: app/backend. Update every frame to dynamically support changing monitor or DPI configuration. + // DEBUG: // - Used by: dear imgui to query DPI info, clamp popups/tooltips within same monitor and not have them straddle monitors. + // DEBUG: ImVector Monitors; + // DEBUG: + // DEBUG: //------------------------------------------------------------------ + // DEBUG: // Output - List of viewports to render into platform windows + // DEBUG: //------------------------------------------------------------------ + // DEBUG: + // DEBUG: // Viewports list (the list is updated by calling ImGui::EndFrame or ImGui::Render) + // DEBUG: // (in the future we will attempt to organize this feature to remove the need for a "main viewport") + // DEBUG: ImVector Viewports; // Main viewports, followed by all secondary viewports. + // DEBUG: ImGuiPlatformIO() { memset(this, 0, sizeof(*this)); } // Zero clear + // DEBUG: } + public unsafe partial class ImGuiPlatformIO : IDisposable + { + [StructLayout(LayoutKind.Sequential)] + internal partial struct __Internal + { + internal IntPtr Platform_CreateWindow; + internal IntPtr Platform_DestroyWindow; + internal IntPtr Platform_ShowWindow; + internal IntPtr Platform_SetWindowPos; + internal IntPtr Platform_GetWindowPos; + internal IntPtr Platform_SetWindowSize; + internal IntPtr Platform_GetWindowSize; + internal IntPtr Platform_SetWindowFocus; + internal IntPtr Platform_GetWindowFocus; + internal IntPtr Platform_GetWindowMinimized; + internal IntPtr Platform_SetWindowTitle; + internal IntPtr Platform_SetWindowAlpha; + internal IntPtr Platform_UpdateWindow; + internal IntPtr Platform_RenderWindow; + internal IntPtr Platform_SwapBuffers; + internal IntPtr Platform_GetWindowDpiScale; + internal IntPtr Platform_OnChangedViewport; + internal IntPtr Platform_CreateVkSurface; + internal IntPtr Renderer_CreateWindow; + internal IntPtr Renderer_DestroyWindow; + internal IntPtr Renderer_SetWindowSize; + internal IntPtr Renderer_RenderWindow; + internal IntPtr Renderer_SwapBuffers; + internal ImVector.__Internal Monitors; + internal ImVector.__Internal Viewports; + } + + private partial struct __Internal32 + { + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformIO@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr ctor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformIO@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] + internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??1ImGuiPlatformIO@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + internal static extern void dtor(IntPtr __instance); + + } + + private partial struct __Internal64 + { + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformIO@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr ctor(IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformIO@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??1ImGuiPlatformIO@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void dtor(IntPtr __instance); + + } + + internal IntPtr __Instance { get; set; } + + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiPlatformIO managed) + { + NativeToManagedMap[native] = new WeakReference(managed); + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiPlatformIO managed) + { + managed = default; + return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); + } + + private protected bool __ownsNativeInstance; + internal static ImGuiPlatformIO __CreateInstance(IntPtr native, bool skipVTables = false) + { + if (native == IntPtr.Zero) + return null; + return new ImGuiPlatformIO(native.ToPointer(), skipVTables); + } + + internal static ImGuiPlatformIO __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ImGuiPlatformIO)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ImGuiPlatformIO __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ImGuiPlatformIO(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__Internal*)ret = native; + return ret.ToPointer(); + } + + private ImGuiPlatformIO(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + private protected ImGuiPlatformIO(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new IntPtr(native); + } + + /// Zero clear.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3187.
+ // DEBUG: ImGuiPlatformIO() { memset(this, 0, sizeof(*this)); } + public ImGuiPlatformIO() + { + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPlatformIO.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (Environment.Is64BitProcess) + { + __Internal64.ctor(__Instance); + } + else + { + __Internal32.ctor(__Instance); + } + } + + /// (Optional) Access via ImGui::GetPlatformIO().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3129.
+ // DEBUG: ImGuiPlatformIO + public ImGuiPlatformIO(ImGuiPlatformIO _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPlatformIO.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + if (Environment.Is64BitProcess) + { + __Internal64.ctor(__Instance, __arg0); + } + else + { + __Internal32.ctor(__Instance, __arg0); } } /// - ~ImFont() + ~ImGuiPlatformIO() { Dispose(false, callNativeDtor: __ownsNativeInstance); } @@ -15100,537 +16949,451 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2878. - // DEBUG: const ImFontGlyph*FindGlyph(ImWchar c) const - public ImFontGlyph FindGlyph(ushort c) - { - var ___ret = Environment.Is64BitProcess ? __Internal64.FindGlyph(__Instance, c) : __Internal32.FindGlyph(__Instance, c); - var __result0 = ImFontGlyph.__GetOrCreateInstance(___ret, false); - return __result0; - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2879. - // DEBUG: const ImFontGlyph*FindGlyphNoFallback(ImWchar c) const - public ImFontGlyph FindGlyphNoFallback(ushort c) - { - var ___ret = Environment.Is64BitProcess ? __Internal64.FindGlyphNoFallback(__Instance, c) : __Internal32.FindGlyphNoFallback(__Instance, c); - var __result0 = ImFontGlyph.__GetOrCreateInstance(___ret, false); - return __result0; - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2880. - // DEBUG: float GetCharAdvance(ImWchar c) const { return ((int)c < IndexAdvanceX.Size) ? IndexAdvanceX[(int)c] : FallbackAdvanceX; } - public float GetCharAdvance(ushort c) - { - var ___ret = Environment.Is64BitProcess ? __Internal64.GetCharAdvance(__Instance, c) : __Internal32.GetCharAdvance(__Instance, c); - return ___ret; - } - - /// Utf8.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2886.
- // DEBUG: ImVec2 CalcTextSizeA(float size, float max_width, float wrap_width, const char* text_begin, const char* text_end = NULL, const char** remaining = NULL) const - public Vector2 CalcTextSizeA(float size, float max_width, float wrap_width, string text_begin, string text_end = default, char** remaining = default) + /// U.
Create a new platform window for the given viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3149.
+ public Action_IntPtr PlatformCreateWindow { - var __arg5 = (sbyte**)&remaining; - var ___ret = new Vector2(); - if (Environment.Is64BitProcess) - { - __Internal64.CalcTextSizeA(__Instance, new IntPtr(&___ret), size, max_width, wrap_width, text_begin, text_end, __arg5); - } - else + get { - __Internal32.CalcTextSizeA(__Instance, new IntPtr(&___ret), size, max_width, wrap_width, text_begin, text_end, __arg5); + var __ptr0 = ((__Internal*)__Instance)->Platform_CreateWindow; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } - return ___ret - /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 6 */ - /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: True, ReturnVarName: True */ - ; - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2887. - // DEBUG: const char* CalcWordWrapPositionA(float scale, const char* text, const char* text_end, float wrap_width) const - public string CalcWordWrapPositionA(float scale, string text, string text_end, float wrap_width) - { - var ___ret = Environment.Is64BitProcess ? __Internal64.CalcWordWrapPositionA(__Instance, scale, text, text_end, wrap_width) : __Internal32.CalcWordWrapPositionA(__Instance, scale, text, text_end, wrap_width); - return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2888. - // DEBUG: void RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c) const - public void RenderChar(ImDrawList draw_list, float size, Vector2 pos, uint col, ushort c) - { - var ____arg0 = draw_list.__Instance; - var __arg0 = new IntPtr(&____arg0); - var __arg2 = new IntPtr(Unsafe.AsPointer(ref pos)) - /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 4 */ - /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: True, ReturnVarName: False */ - ; - if (Environment.Is64BitProcess) - { - __Internal64.RenderChar(__Instance, __arg0, size, __arg2, col, c); - } - else + set { - __Internal32.RenderChar(__Instance, __arg0, size, __arg2, col, c); + ((__Internal*)__Instance)->Platform_CreateWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2889. - // DEBUG: void RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width = 0.0f, bool cpu_fine_clip = false) const - public void RenderText(ImDrawList draw_list, float size, Vector2 pos, uint col, Vector4 clip_rect, string text_begin, string text_end, float wrap_width = 0.0F, bool cpu_fine_clip = false) + /// N . U . D.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3150.
+ public Action_IntPtr PlatformDestroyWindow { - var ____arg0 = draw_list.__Instance; - var __arg0 = new IntPtr(&____arg0); - var __arg2 = new IntPtr(Unsafe.AsPointer(ref pos)) - /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 4 */ - /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: True, ReturnVarName: False */ - ; - var __arg4 = new IntPtr(Unsafe.AsPointer(ref clip_rect)) - /* DEBUG: TypeMapImVec4.CSharpMarshalToNative: Case 4 */ - /* DEBUG: TypeMapImVec4.CSharpMarshalToNative: Function: True, ReturnVarName: False */ - ; - if (Environment.Is64BitProcess) + get { - __Internal64.RenderText(__Instance, __arg0, size, __arg2, col, __arg4, text_begin, text_end, wrap_width, cpu_fine_clip); + var __ptr0 = ((__Internal*)__Instance)->Platform_DestroyWindow; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } - else + + set { - __Internal32.RenderText(__Instance, __arg0, size, __arg2, col, __arg4, text_begin, text_end, wrap_width, cpu_fine_clip); + ((__Internal*)__Instance)->Platform_DestroyWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// [Internal] Don't use!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2892.
- // DEBUG: void BuildLookupTable() - public void BuildLookupTable() + /// U.
Newly created windows are initially hidden so SetWindowPos/Size/Title can be called on them before showing the window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3151.
+ public Action_IntPtr PlatformShowWindow { - if (Environment.Is64BitProcess) + get { - __Internal64.BuildLookupTable(__Instance); + var __ptr0 = ((__Internal*)__Instance)->Platform_ShowWindow; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } - else + + set { - __Internal32.BuildLookupTable(__Instance); + ((__Internal*)__Instance)->Platform_ShowWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2893. - // DEBUG: void ClearOutputData() - public void ClearOutputData() + /// U.
Set platform window position (given the upper-left corner of client area).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3152.
+ public Action_IntPtr_Numerics_Vector2 PlatformSetWindowPos { - if (Environment.Is64BitProcess) + get { - __Internal64.ClearOutputData(__Instance); + var __ptr0 = ((__Internal*)__Instance)->Platform_SetWindowPos; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr_Numerics_Vector2)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr_Numerics_Vector2)); } - else + + set { - __Internal32.ClearOutputData(__Instance); + ((__Internal*)__Instance)->Platform_SetWindowPos = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2894. - // DEBUG: void GrowIndex(int new_size) - public void GrowIndex(int new_size) + /// N.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3153.
+ public Func_Numerics_Vector2_IntPtr PlatformGetWindowPos { - if (Environment.Is64BitProcess) + get { - __Internal64.GrowIndex(__Instance, new_size); + var __ptr0 = ((__Internal*)__Instance)->Platform_GetWindowPos; + return __ptr0 == IntPtr.Zero ? null : (Func_Numerics_Vector2_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Func_Numerics_Vector2_IntPtr)); } - else + + set { - __Internal32.GrowIndex(__Instance, new_size); + ((__Internal*)__Instance)->Platform_GetWindowPos = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2895. - // DEBUG: void AddGlyph(const ImFontConfig* src_cfg, ImWchar c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x) - public void AddGlyph(ImFontConfig src_cfg, ushort c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x) + /// U.
Set platform window client area size (ignoring OS decorations such as OS title bar etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3154.
+ public Action_IntPtr_Numerics_Vector2 PlatformSetWindowSize { - var __arg0 = src_cfg is null ? IntPtr.Zero : src_cfg.__Instance; - if (Environment.Is64BitProcess) + get { - __Internal64.AddGlyph(__Instance, __arg0, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x); + var __ptr0 = ((__Internal*)__Instance)->Platform_SetWindowSize; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr_Numerics_Vector2)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr_Numerics_Vector2)); } - else + + set { - __Internal32.AddGlyph(__Instance, __arg0, c, x0, y0, x1, y1, u0, v0, u1, v1, advance_x); + ((__Internal*)__Instance)->Platform_SetWindowSize = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// Makes 'dst' character/glyph points to 'src' character/glyph. Currently needs to be called AFTER fonts have been built.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2896.
- // DEBUG: void AddRemapChar(ImWchar dst, ImWchar src, bool overwrite_dst = true) - public void AddRemapChar(ushort dst, ushort src, bool overwrite_dst = true) + /// N.
Get platform window client area size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3155.
+ public Func_Numerics_Vector2_IntPtr PlatformGetWindowSize { - if (Environment.Is64BitProcess) + get { - __Internal64.AddRemapChar(__Instance, dst, src, overwrite_dst); + var __ptr0 = ((__Internal*)__Instance)->Platform_GetWindowSize; + return __ptr0 == IntPtr.Zero ? null : (Func_Numerics_Vector2_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Func_Numerics_Vector2_IntPtr)); } - else + + set { - __Internal32.AddRemapChar(__Instance, dst, src, overwrite_dst); + ((__Internal*)__Instance)->Platform_GetWindowSize = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2897. - // DEBUG: void SetGlyphVisible(ImWchar c, bool visible) - public void SetGlyphVisible(ushort c, bool visible) + /// N.
Move window to front and set input focus.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3156.
+ public Action_IntPtr PlatformSetWindowFocus { - if (Environment.Is64BitProcess) - { - __Internal64.SetGlyphVisible(__Instance, c, visible); - } - else + get { - __Internal32.SetGlyphVisible(__Instance, c, visible); + var __ptr0 = ((__Internal*)__Instance)->Platform_SetWindowFocus; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2898. - // DEBUG: bool IsGlyphRangeUnused(unsigned int c_begin, unsigned int c_last) - public bool IsGlyphRangeUnused(uint c_begin, uint c_last) - { - var ___ret = Environment.Is64BitProcess ? __Internal64.IsGlyphRangeUnused(__Instance, c_begin, c_last) : __Internal32.IsGlyphRangeUnused(__Instance, c_begin, c_last); - return ___ret; - } - /// 12-16.
Out.
Sparse. Glyphs->AdvanceX in a directly indexable way (cache-friendly for CalcTextSize functions which only this this info, and are often bottleneck in large UI).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2853.
- public ImVector IndexAdvanceX - { - get + set { - return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->IndexAdvanceX)) - /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ - ; + ((__Internal*)__Instance)->Platform_SetWindowFocus = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4.
Out.
= FallbackGlyph->AdvanceX.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2854.
- public float FallbackAdvanceX + /// U.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3157.
+ public Func_bool_IntPtr PlatformGetWindowFocus { get { - return ((__Internal*)__Instance)->FallbackAdvanceX; + var __ptr0 = ((__Internal*)__Instance)->Platform_GetWindowFocus; + return __ptr0 == IntPtr.Zero ? null : (Func_bool_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Func_bool_IntPtr)); } set { - ((__Internal*)__Instance)->FallbackAdvanceX = value; + ((__Internal*)__Instance)->Platform_GetWindowFocus = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4.
In.
Height of characters/line, set during loading (don't change after loading).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2855.
- public float FontSize + /// N.
Get platform window minimized state. When minimized, we generally won't attempt to get/set size and contents will be culled more easily.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3158.
+ public Func_bool_IntPtr PlatformGetWindowMinimized { get { - return ((__Internal*)__Instance)->FontSize; + var __ptr0 = ((__Internal*)__Instance)->Platform_GetWindowMinimized; + return __ptr0 == IntPtr.Zero ? null : (Func_bool_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Func_bool_IntPtr)); } set { - ((__Internal*)__Instance)->FontSize = value; + ((__Internal*)__Instance)->Platform_GetWindowMinimized = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 12-16.
Out.
Sparse. Index glyphs by Unicode code-point.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2858.
- public ImVector IndexLookup + /// U.
Set platform window title (given an UTF-8 string).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3159.
+ public ImSetClipboardTextHandler PlatformSetWindowTitle { get { - return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->IndexLookup)) - /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ - ; + var __ptr0 = ((__Internal*)__Instance)->Platform_SetWindowTitle; + return __ptr0 == IntPtr.Zero ? null : (ImSetClipboardTextHandler)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(ImSetClipboardTextHandler)); } - } - /// 12-16.
Out.
All glyphs.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2859.
- public ImVector Glyphs - { - get + set { - return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->Glyphs)) - /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ - ; + ((__Internal*)__Instance)->Platform_SetWindowTitle = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4-8.
Out.
= FindGlyph(FontFallbackChar).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2860.
- public ImFontGlyph FallbackGlyph + /// U.
(Optional) Setup global transparency (not per-pixel transparency).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3160.
+ public Action_IntPtr_float PlatformSetWindowAlpha { get { - var __result0 = ImFontGlyph.__GetOrCreateInstance(((__Internal*)__Instance)->FallbackGlyph, false); - return __result0; + var __ptr0 = ((__Internal*)__Instance)->Platform_SetWindowAlpha; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr_float)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr_float)); + } + + set + { + ((__Internal*)__Instance)->Platform_SetWindowAlpha = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4-8.
Out.
What we has been loaded into.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2863.
- public ImFontAtlas ContainerAtlas + /// U.
(Optional) Called by UpdatePlatformWindows(). Optional hook to allow the platform backend from doing general book-keeping every frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3161.
+ public Action_IntPtr PlatformUpdateWindow { get { - var __result0 = ImFontAtlas.__GetOrCreateInstance(((__Internal*)__Instance)->ContainerAtlas, false); - return __result0; + var __ptr0 = ((__Internal*)__Instance)->Platform_UpdateWindow; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } set { - ((__Internal*)__Instance)->ContainerAtlas = value is null ? IntPtr.Zero : value.__Instance; + ((__Internal*)__Instance)->Platform_UpdateWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4-8.
In.
Pointer within ContainerAtlas->ConfigData.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2864.
- public ImFontConfig ConfigData + /// R.
(Optional) Main rendering (platform side! This is often unused, or just setting a "current" context for OpenGL bindings). 'render_arg' is the value passed to RenderPlatformWindowsDefault().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3162.
+ public ImSetPlatformImeDataHandler PlatformRenderWindow { get { - var __result0 = ImFontConfig.__GetOrCreateInstance(((__Internal*)__Instance)->ConfigData, false); - return __result0; + var __ptr0 = ((__Internal*)__Instance)->Platform_RenderWindow; + return __ptr0 == IntPtr.Zero ? null : (ImSetPlatformImeDataHandler)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(ImSetPlatformImeDataHandler)); + } + + set + { + ((__Internal*)__Instance)->Platform_RenderWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 2.
In.
~ 1.
Number of ImFontConfig involved in creating this font. Bigger than 1 when merging multiple font sources into one ImFont.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2865.
- public short ConfigDataCount + /// R.
(Optional) Call Present/SwapBuffers (platform side! This is often unused!). 'render_arg' is the value passed to RenderPlatformWindowsDefault().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3163.
+ public ImSetPlatformImeDataHandler PlatformSwapBuffers { get { - return ((__Internal*)__Instance)->ConfigDataCount; + var __ptr0 = ((__Internal*)__Instance)->Platform_SwapBuffers; + return __ptr0 == IntPtr.Zero ? null : (ImSetPlatformImeDataHandler)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(ImSetPlatformImeDataHandler)); } set { - ((__Internal*)__Instance)->ConfigDataCount = value; + ((__Internal*)__Instance)->Platform_SwapBuffers = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 2.
Out.
= FFFD/'?'.
Character used if a glyph isn't found.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2866.
- public ushort FallbackChar + /// N.
(Optional) [BETA] FIXME-DPI: DPI handling: Return DPI scale for this viewport. 1.0f = 96 DPI.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3164.
+ public Func_float_IntPtr PlatformGetWindowDpiScale { get { - return ((__Internal*)__Instance)->FallbackChar; + var __ptr0 = ((__Internal*)__Instance)->Platform_GetWindowDpiScale; + return __ptr0 == IntPtr.Zero ? null : (Func_float_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Func_float_IntPtr)); } set { - ((__Internal*)__Instance)->FallbackChar = value; + ((__Internal*)__Instance)->Platform_GetWindowDpiScale = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 2.
Out.
= '...'.
Character used for ellipsis rendering.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2867.
- public ushort EllipsisChar + /// F.
(Optional) [BETA] FIXME-DPI: DPI handling: Called during Begin() every time the viewport we are outputting into changes, so backend has a chance to swap fonts to adjust style.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3165.
+ public Action_IntPtr PlatformOnChangedViewport { get { - return ((__Internal*)__Instance)->EllipsisChar; + var __ptr0 = ((__Internal*)__Instance)->Platform_OnChangedViewport; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } set { - ((__Internal*)__Instance)->EllipsisChar = value; + ((__Internal*)__Instance)->Platform_OnChangedViewport = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 2.
Out.
= '.'.
Character used for ellipsis rendering (if a single '...' character isn't found).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2868.
- public ushort DotChar + /// (Optional) For a Vulkan Renderer to call into Platform code (since the surface creation needs to tie them both).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3166.
+ public Func_int_IntPtr_ulong_IntPtr_ulongPtr PlatformCreateVkSurface { get { - return ((__Internal*)__Instance)->DotChar; + var __ptr0 = ((__Internal*)__Instance)->Platform_CreateVkSurface; + return __ptr0 == IntPtr.Zero ? null : (Func_int_IntPtr_ulong_IntPtr_ulongPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Func_int_IntPtr_ulong_IntPtr_ulongPtr)); } set { - ((__Internal*)__Instance)->DotChar = value; + ((__Internal*)__Instance)->Platform_CreateVkSurface = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 1.
Out.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2869.
- public bool DirtyLookupTables + /// U.
Create swap chain, frame buffers etc. (called after Platform_CreateWindow).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3169.
+ public Action_IntPtr RendererCreateWindow { get { - return ((__Internal*)__Instance)->DirtyLookupTables != 0; + var __ptr0 = ((__Internal*)__Instance)->Renderer_CreateWindow; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } set { - ((__Internal*)__Instance)->DirtyLookupTables = (byte)(value ? 1 : 0); + ((__Internal*)__Instance)->Renderer_CreateWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4.
In.
= 1.f.
Base font scale, multiplied by the per-window font scale which you can adjust with SetWindowFontScale().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2870.
- public float Scale + /// N . U . D.
Destroy swap chain, frame buffers etc. (called before Platform_DestroyWindow).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3170.
+ public Action_IntPtr RendererDestroyWindow { get { - return ((__Internal*)__Instance)->Scale; + var __ptr0 = ((__Internal*)__Instance)->Renderer_DestroyWindow; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr)); } set { - ((__Internal*)__Instance)->Scale = value; + ((__Internal*)__Instance)->Renderer_DestroyWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4+4.
Out.
Ascent: distance from top to bottom of e.g. 'A' [0..FontSize].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2871.
- public float Ascent + /// U.
Resize swap chain, frame buffers etc. (called after Platform_SetWindowSize).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3171.
+ public Action_IntPtr_Numerics_Vector2 RendererSetWindowSize { get { - return ((__Internal*)__Instance)->Ascent; + var __ptr0 = ((__Internal*)__Instance)->Renderer_SetWindowSize; + return __ptr0 == IntPtr.Zero ? null : (Action_IntPtr_Numerics_Vector2)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(Action_IntPtr_Numerics_Vector2)); } set { - ((__Internal*)__Instance)->Ascent = value; + ((__Internal*)__Instance)->Renderer_SetWindowSize = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4+4.
Out.
Ascent: distance from top to bottom of e.g. 'A' [0..FontSize].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2871.
- public float Descent + /// R.
(Optional) Clear framebuffer, setup render target, then render the viewport->DrawData. 'render_arg' is the value passed to RenderPlatformWindowsDefault().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3172.
+ public ImSetPlatformImeDataHandler RendererRenderWindow { get { - return ((__Internal*)__Instance)->Descent; + var __ptr0 = ((__Internal*)__Instance)->Renderer_RenderWindow; + return __ptr0 == IntPtr.Zero ? null : (ImSetPlatformImeDataHandler)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(ImSetPlatformImeDataHandler)); } set { - ((__Internal*)__Instance)->Descent = value; + ((__Internal*)__Instance)->Renderer_RenderWindow = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 4.
Out.
Total surface in pixels to get an idea of the font rasterization/texture cost (not exact, we approximate the cost of padding between glyphs).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2872.
- public int MetricsTotalSurface + /// R.
(Optional) Call Present/SwapBuffers. 'render_arg' is the value passed to RenderPlatformWindowsDefault().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3173.
+ public ImSetPlatformImeDataHandler RendererSwapBuffers { get { - return ((__Internal*)__Instance)->MetricsTotalSurface; + var __ptr0 = ((__Internal*)__Instance)->Renderer_SwapBuffers; + return __ptr0 == IntPtr.Zero ? null : (ImSetPlatformImeDataHandler)Marshal.GetDelegateForFunctionPointer(__ptr0, typeof(ImSetPlatformImeDataHandler)); } set { - ((__Internal*)__Instance)->MetricsTotalSurface = value; + ((__Internal*)__Instance)->Renderer_SwapBuffers = value == null ? IntPtr.Zero : Marshal.GetFunctionPointerForDelegate(value); } } - /// 2 bytes if ImWchar=ImWchar16, 34 bytes if ImWchar==ImWchar32. Store 1-bit for each block of 4K codepoints that has one active glyph. This is mainly used to facilitate iterations across all used codepoints.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2873.
- public Span Used4kPagesMap + /// (Optional) Monitor list.
- Updated by: app/backend. Update every frame to dynamically support changing monitor or DPI configuration.
- Used by: dear imgui to query DPI info, clamp popups/tooltips within same monitor and not have them straddle monitors.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3178.
+ public ImVector Monitors { get { - return new Span(((__Internal*)__Instance)->Used4kPagesMap, 2); + return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->Monitors)) + /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; } + } - set + /// Main viewports, followed by all secondary viewports.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3186.
+ public ImVector Viewports + { + get { - if (value != null) - { - for (int i = 0; i < 2; i++) - ((__Internal*)__Instance)->Used4kPagesMap[i] = value[i]; - } + return new ImVector(Unsafe.As.__Internal>(ref ((__Internal*)__Instance)->Viewports)) + /* DEBUG: TypeMapImVector.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ + ; } - } - } - - /// - Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows.
- In 'docking' branch with multi-viewport enabled, we extend this concept to have multiple active viewports.
- In the future we will extend this concept further to also represent Platform Monitor and support a "no main platform window" operation mode.
- About Main Area vs Work Area:.
- Main Area = entire viewport.
- Work Area = entire viewport minus sections used by main menu bars (for platform windows), or by task bar (for platform monitor).
- Windows are generally trying to stay within the Work Area of their host viewport.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2921.
- // DEBUG: struct ImGuiViewport - // DEBUG: { - // DEBUG: ImGuiViewportFlags Flags; // See ImGuiViewportFlags_ - // DEBUG: ImVec2 Pos; // Main Area: Position of the viewport (Dear ImGui coordinates are the same as OS desktop/native coordinates) - // DEBUG: ImVec2 Size; // Main Area: Size of the viewport. - // DEBUG: ImVec2 WorkPos; // Work Area: Position of the viewport minus task bars, menus bars, status bars (>= Pos) - // DEBUG: ImVec2 WorkSize; // Work Area: Size of the viewport minus task bars, menu bars, status bars (<= Size) - // DEBUG: - // DEBUG: // Platform/Backend Dependent Data - // DEBUG: void* PlatformHandleRaw; // void* to hold lower-level, platform-native window handle (under Win32 this is expected to be a HWND, unused for other platforms) - // DEBUG: - // DEBUG: ImGuiViewport() { memset(this, 0, sizeof(*this)); } - // DEBUG: - // DEBUG: // Helpers - // DEBUG: ImVec2 GetCenter() const { return ImVec2(Pos.x + Size.x * 0.5f, Pos.y + Size.y * 0.5f); } - // DEBUG: ImVec2 GetWorkCenter() const { return ImVec2(WorkPos.x + WorkSize.x * 0.5f, WorkPos.y + WorkSize.y * 0.5f); } + } + } + + /// (Optional) This is required when enabling multi-viewport. Represent the bounds of each connected monitor/display and their DPI.
We use this information for multiple DPI support + clamping the position of popups and tooltips so they don't straddle multiple monitors.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3192.
+ // DEBUG: struct ImGuiPlatformMonitor + // DEBUG: { + // DEBUG: ImVec2 MainPos, MainSize; // Coordinates of the area displayed on this monitor (Min = upper left, Max = bottom right) + // DEBUG: ImVec2 WorkPos, WorkSize; // Coordinates without task bars / side bars / menu bars. Used to avoid positioning popups/tooltips inside this region. If you don't have this info, please copy the value for MainPos/MainSize. + // DEBUG: float DpiScale; // 1.0f = 96 DPI + // DEBUG: ImGuiPlatformMonitor() { MainPos = MainSize = WorkPos = WorkSize = ImVec2(0, 0); DpiScale = 1.0f; } // DEBUG: } - public unsafe partial class ImGuiViewport : IDisposable + public unsafe partial class ImGuiPlatformMonitor : IDisposable { [StructLayout(LayoutKind.Sequential)] internal partial struct __Internal { - internal ImGuiViewportFlags Flags; - internal Vector2 Pos; - internal Vector2 Size; + internal Vector2 MainPos; + internal Vector2 MainSize; internal Vector2 WorkPos; internal Vector2 WorkSize; - internal IntPtr PlatformHandleRaw; + internal float DpiScale; } private partial struct __Internal32 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformMonitor@@QAE@XZ", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformMonitor@@QAE@$$QAU0@@Z", CallingConvention = CallingConvention.ThisCall)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetCenter@ImGuiViewport@@QBE?AUImVec2@@XZ", CallingConvention = CallingConvention.ThisCall)] - internal static extern void GetCenter(IntPtr __instance, IntPtr @return); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWorkCenter@ImGuiViewport@@QBE?AUImVec2@@XZ", CallingConvention = CallingConvention.ThisCall)] - internal static extern void GetWorkCenter(IntPtr __instance, IntPtr @return); - } private partial struct __Internal64 { - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformMonitor@@QEAA@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiViewport@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "??0ImGuiPlatformMonitor@@QEAA@$$QEAU0@@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr ctor(IntPtr __instance, IntPtr _0); - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetCenter@ImGuiViewport@@QEBA?AUImVec2@@XZ", CallingConvention = CallingConvention.Cdecl)] - internal static extern void GetCenter(IntPtr __instance, IntPtr @return); - - [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWorkCenter@ImGuiViewport@@QEBA?AUImVec2@@XZ", CallingConvention = CallingConvention.Cdecl)] - internal static extern void GetWorkCenter(IntPtr __instance, IntPtr @return); - } internal IntPtr __Instance { get; set; } - internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiViewport managed) + internal static readonly new ConcurrentDictionary> NativeToManagedMap = new ConcurrentDictionary>(); + internal static void __RecordNativeToManagedMapping(IntPtr native, ImGuiPlatformMonitor managed) { - NativeToManagedMap[native] = new WeakReference(managed); + NativeToManagedMap[native] = new WeakReference(managed); } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiViewport managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiPlatformMonitor managed) { managed = default; return NativeToManagedMap.TryGetValue(native, out var wr) && wr.TryGetTarget(out managed); } private protected bool __ownsNativeInstance; - internal static ImGuiViewport __CreateInstance(IntPtr native, bool skipVTables = false) + internal static ImGuiPlatformMonitor __CreateInstance(IntPtr native, bool skipVTables = false) { - return new ImGuiViewport(native.ToPointer(), skipVTables); + if (native == IntPtr.Zero) + return null; + return new ImGuiPlatformMonitor(native.ToPointer(), skipVTables); } - internal static ImGuiViewport __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static ImGuiPlatformMonitor __GetOrCreateInstance(IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (ImGuiViewport)managed; + return (ImGuiPlatformMonitor)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static ImGuiViewport __CreateInstance(__Internal native, bool skipVTables = false) + internal static ImGuiPlatformMonitor __CreateInstance(__Internal native, bool skipVTables = false) { - return new ImGuiViewport(native, skipVTables); + return new ImGuiPlatformMonitor(native, skipVTables); } private static void* __CopyValue(__Internal native) @@ -15640,24 +17403,24 @@ internal static ImGuiViewport __CreateInstance(__Internal native, bool skipVTabl return ret.ToPointer(); } - private ImGuiViewport(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) + private ImGuiPlatformMonitor(__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - private protected ImGuiViewport(void* native, bool skipVTables = false) + private protected ImGuiPlatformMonitor(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2932. - // DEBUG: ImGuiViewport() { memset(this, 0, sizeof(*this)); } - public ImGuiViewport() + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3197. + // DEBUG: ImGuiPlatformMonitor() { MainPos = MainSize = WorkPos = WorkSize = ImVec2(0, 0); DpiScale = 1.0f; } + public ImGuiPlatformMonitor() { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiViewport.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPlatformMonitor.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (Environment.Is64BitProcess) @@ -15670,11 +17433,11 @@ public ImGuiViewport() } } - /// - Currently represents the Platform Window created by the application which is hosting our Dear ImGui windows.
- In 'docking' branch with multi-viewport enabled, we extend this concept to have multiple active viewports.
- In the future we will extend this concept further to also represent Platform Monitor and support a "no main platform window" operation mode.
- About Main Area vs Work Area:.
- Main Area = entire viewport.
- Work Area = entire viewport minus sections used by main menu bars (for platform windows), or by task bar (for platform monitor).
- Windows are generally trying to stay within the Work Area of their host viewport.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2921.
- // DEBUG: ImGuiViewport - public ImGuiViewport(ImGuiViewport _0) + /// (Optional) This is required when enabling multi-viewport. Represent the bounds of each connected monitor/display and their DPI.
We use this information for multiple DPI support + clamping the position of popups and tooltips so they don't straddle multiple monitors.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3192.
+ // DEBUG: ImGuiPlatformMonitor + public ImGuiPlatformMonitor(ImGuiPlatformMonitor _0) { - __Instance = Marshal.AllocHGlobal(sizeof(ImGuiViewport.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(ImGuiPlatformMonitor.__Internal)); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15691,7 +17454,7 @@ public ImGuiViewport(ImGuiViewport _0) } /// - ~ImGuiViewport() + ~ImGuiPlatformMonitor() { Dispose(false, callNativeDtor: __ownsNativeInstance); } @@ -15715,26 +17478,12 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// See ImGuiViewportFlags_.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2923.
- public ImGuiViewportFlags Flags - { - get - { - return ((__Internal*)__Instance)->Flags; - } - - set - { - ((__Internal*)__Instance)->Flags = value; - } - } - - /// Main Area: Position of the viewport (Dear ImGui coordinates are the same as OS desktop/native coordinates).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2924.
- public Vector2 Pos + /// Coordinates of the area displayed on this monitor (Min = upper left, Max = bottom right).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3194.
+ public Vector2 MainPos { get { - return ((__Internal*)__Instance)->Pos + return ((__Internal*)__Instance)->MainPos /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 2 */ /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ ; @@ -15742,19 +17491,19 @@ public Vector2 Pos set { - ((__Internal*)__Instance)->Pos = value + ((__Internal*)__Instance)->MainPos = value /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 2 */ /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: False, ReturnVarName: True */ ; } } - /// Main Area: Size of the viewport.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2925.
- public Vector2 Size + /// Coordinates of the area displayed on this monitor (Min = upper left, Max = bottom right).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3194.
+ public Vector2 MainSize { get { - return ((__Internal*)__Instance)->Size + return ((__Internal*)__Instance)->MainSize /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 2 */ /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: False, ReturnVarName: True */ ; @@ -15762,14 +17511,14 @@ public Vector2 Size set { - ((__Internal*)__Instance)->Size = value + ((__Internal*)__Instance)->MainSize = value /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 2 */ /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: False, ReturnVarName: True */ ; } } - /// Work Area: Position of the viewport minus task bars, menus bars, status bars (>= Pos).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2926.
+ /// Coordinates without task bars / side bars / menu bars. Used to avoid positioning popups/tooltips inside this region. If you don't have this info, please copy the value for MainPos/MainSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3195.
public Vector2 WorkPos { get @@ -15789,7 +17538,7 @@ public Vector2 WorkPos } } - /// Work Area: Size of the viewport minus task bars, menu bars, status bars (<= Size).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2927.
+ /// Coordinates without task bars / side bars / menu bars. Used to avoid positioning popups/tooltips inside this region. If you don't have this info, please copy the value for MainPos/MainSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3195.
public Vector2 WorkSize { get @@ -15809,66 +17558,22 @@ public Vector2 WorkSize } } - /// Void* to hold lower-level, platform-native window handle (under Win32 this is expected to be a HWND, unused for other platforms).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2930.
- public IntPtr PlatformHandleRaw + /// 1.0f = 96 DPI.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3196.
+ public float DpiScale { get { - return ((__Internal*)__Instance)->PlatformHandleRaw; + return ((__Internal*)__Instance)->DpiScale; } set { - ((__Internal*)__Instance)->PlatformHandleRaw = (IntPtr)value; - } - } - - /// Helpers.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2935.
- public Vector2 Center - { - get - { - var ___ret = new Vector2(); - if (Environment.Is64BitProcess) - { - __Internal64.GetCenter(__Instance, new IntPtr(&___ret)); - } - else - { - __Internal32.GetCenter(__Instance, new IntPtr(&___ret)); - } - - return ___ret - /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 6 */ - /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: True, ReturnVarName: True */ - ; - } - } - - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2936. - public Vector2 WorkCenter - { - get - { - var ___ret = new Vector2(); - if (Environment.Is64BitProcess) - { - __Internal64.GetWorkCenter(__Instance, new IntPtr(&___ret)); - } - else - { - __Internal32.GetWorkCenter(__Instance, new IntPtr(&___ret)); - } - - return ___ret - /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Case 6 */ - /* DEBUG: TypeMapImVec2.CSharpMarshalToManaged: Function: True, ReturnVarName: True */ - ; + ((__Internal*)__Instance)->DpiScale = value; } } } - /// (Optional) Support for IME (Input Method Editor) via the io.SetPlatformImeDataFn() function.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2944.
+ /// (Optional) Support for IME (Input Method Editor) via the io.SetPlatformImeDataFn() function.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3201.
// DEBUG: struct ImGuiPlatformImeData // DEBUG: { // DEBUG: bool WantVisible; // A widget wants the IME to be visible @@ -15924,6 +17629,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImGuiPlat private protected bool __ownsNativeInstance; internal static ImGuiPlatformImeData __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImGuiPlatformImeData(native.ToPointer(), skipVTables); } @@ -15964,7 +17671,7 @@ private protected ImGuiPlatformImeData(void* native, bool skipVTables = false) __Instance = new IntPtr(native); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2950. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3207. // DEBUG: ImGuiPlatformImeData() { memset(this, 0, sizeof(*this)); } public ImGuiPlatformImeData() { @@ -15981,7 +17688,7 @@ public ImGuiPlatformImeData() } } - /// (Optional) Support for IME (Input Method Editor) via the io.SetPlatformImeDataFn() function.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2944.
+ /// (Optional) Support for IME (Input Method Editor) via the io.SetPlatformImeDataFn() function.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3201.
// DEBUG: ImGuiPlatformImeData public ImGuiPlatformImeData(ImGuiPlatformImeData _0) { @@ -16026,7 +17733,7 @@ private protected virtual void Dispose(bool disposing, bool callNativeDtor) __Instance = IntPtr.Zero; } - /// A widget wants the IME to be visible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2946.
+ /// A widget wants the IME to be visible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3203.
public bool WantVisible { get @@ -16040,7 +17747,7 @@ public bool WantVisible } } - /// Position of the input cursor.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2947.
+ /// Position of the input cursor.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3204.
public Vector2 InputPos { get @@ -16060,7 +17767,7 @@ public Vector2 InputPos } } - /// Line height.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2948.
+ /// Line height.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3205.
public float InputLineHeight { get @@ -16190,6 +17897,9 @@ private partial struct __Internal32 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowDrawList@ImGui@@YAPAUImDrawList@@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr GetWindowDrawList(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowDpiScale@ImGui@@YAMXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern float GetWindowDpiScale(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowPos@ImGui@@YA?AUImVec2@@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern void GetWindowPos(IntPtr @return); @@ -16202,6 +17912,9 @@ private partial struct __Internal32 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowHeight@ImGui@@YAMXZ", CallingConvention = CallingConvention.Cdecl)] internal static extern float GetWindowHeight(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowViewport@ImGui@@YAPAUImGuiViewport@@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetWindowViewport(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowPos@ImGui@@YAXABUImVec2@@H0@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetNextWindowPos(IntPtr pos, ImGuiCond cond, IntPtr pivot); @@ -16223,6 +17936,9 @@ private partial struct __Internal32 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowBgAlpha@ImGui@@YAXM@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetNextWindowBgAlpha(float alpha); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowViewport@ImGui@@YAXI@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void SetNextWindowViewport(uint viewport_id); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetWindowPos@ImGui@@YAXABUImVec2@@H@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetWindowPos(IntPtr pos, ImGuiCond cond); @@ -17039,6 +18755,25 @@ private partial struct __Internal32 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetTabItemClosed@ImGui@@YAXPBD@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetTabItemClosed([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string tab_or_docked_window_label); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?DockSpace@ImGui@@YAIIABUImVec2@@HPBUImGuiWindowClass@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern uint DockSpace(uint id, IntPtr size, ImGuiDockNodeFlags flags, IntPtr window_class); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?DockSpaceOverViewport@ImGui@@YAIPBUImGuiViewport@@HPBUImGuiWindowClass@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern uint DockSpaceOverViewport(IntPtr viewport, ImGuiDockNodeFlags flags, IntPtr window_class); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowDockID@ImGui@@YAXIH@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void SetNextWindowDockID(uint dock_id, ImGuiCond cond); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowClass@ImGui@@YAXPBUImGuiWindowClass@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void SetNextWindowClass(IntPtr window_class); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowDockID@ImGui@@YAIXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern uint GetWindowDockID(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsWindowDocked@ImGui@@YA_NXZ", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsWindowDocked(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?LogToTTY@ImGui@@YAXH@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void LogToTTY(int auto_open_depth); @@ -17175,6 +18910,12 @@ private partial struct __Internal32 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetForegroundDrawList@ImGui@@YAPAUImDrawList@@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr GetForegroundDrawList(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetBackgroundDrawList@ImGui@@YAPAUImDrawList@@PAUImGuiViewport@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetBackgroundDrawList(IntPtr viewport); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetForegroundDrawList@ImGui@@YAPAUImDrawList@@PAUImGuiViewport@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetForegroundDrawList(IntPtr viewport); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsRectVisible@ImGui@@YA_NABUImVec2@@@Z", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] internal static extern bool IsRectVisible(IntPtr size); @@ -17337,6 +19078,24 @@ private partial struct __Internal32 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?MemFree@ImGui@@YAXPAX@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void MemFree(IntPtr ptr); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetPlatformIO@ImGui@@YAAAUImGuiPlatformIO@@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetPlatformIO(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?UpdatePlatformWindows@ImGui@@YAXXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void UpdatePlatformWindows(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?RenderPlatformWindowsDefault@ImGui@@YAXPAX0@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void RenderPlatformWindowsDefault(IntPtr platform_render_arg, IntPtr renderer_render_arg); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?DestroyPlatformWindows@ImGui@@YAXXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void DestroyPlatformWindows(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?FindViewportByID@ImGui@@YAPAUImGuiViewport@@I@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr FindViewportByID(uint id); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?FindViewportByPlatformHandle@ImGui@@YAPAUImGuiViewport@@PAX@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr FindViewportByPlatformHandle(IntPtr platform_handle); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetKeyIndex@ImGui@@YAHH@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern int GetKeyIndex(ImGuiKey key); @@ -17451,6 +19210,9 @@ private partial struct __Internal64 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowDrawList@ImGui@@YAPEAUImDrawList@@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr GetWindowDrawList(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowDpiScale@ImGui@@YAMXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern float GetWindowDpiScale(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowPos@ImGui@@YA?AUImVec2@@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern void GetWindowPos(IntPtr @return); @@ -17463,6 +19225,9 @@ private partial struct __Internal64 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowHeight@ImGui@@YAMXZ", CallingConvention = CallingConvention.Cdecl)] internal static extern float GetWindowHeight(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowViewport@ImGui@@YAPEAUImGuiViewport@@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetWindowViewport(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowPos@ImGui@@YAXAEBUImVec2@@H0@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetNextWindowPos(IntPtr pos, ImGuiCond cond, IntPtr pivot); @@ -17484,6 +19249,9 @@ private partial struct __Internal64 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowBgAlpha@ImGui@@YAXM@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetNextWindowBgAlpha(float alpha); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowViewport@ImGui@@YAXI@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void SetNextWindowViewport(uint viewport_id); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetWindowPos@ImGui@@YAXAEBUImVec2@@H@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetWindowPos(IntPtr pos, ImGuiCond cond); @@ -18300,6 +20068,25 @@ private partial struct __Internal64 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetTabItemClosed@ImGui@@YAXPEBD@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void SetTabItemClosed([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string tab_or_docked_window_label); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?DockSpace@ImGui@@YAIIAEBUImVec2@@HPEBUImGuiWindowClass@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern uint DockSpace(uint id, IntPtr size, ImGuiDockNodeFlags flags, IntPtr window_class); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?DockSpaceOverViewport@ImGui@@YAIPEBUImGuiViewport@@HPEBUImGuiWindowClass@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern uint DockSpaceOverViewport(IntPtr viewport, ImGuiDockNodeFlags flags, IntPtr window_class); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowDockID@ImGui@@YAXIH@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void SetNextWindowDockID(uint dock_id, ImGuiCond cond); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?SetNextWindowClass@ImGui@@YAXPEBUImGuiWindowClass@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void SetNextWindowClass(IntPtr window_class); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetWindowDockID@ImGui@@YAIXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern uint GetWindowDockID(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsWindowDocked@ImGui@@YA_NXZ", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsWindowDocked(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?LogToTTY@ImGui@@YAXH@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void LogToTTY(int auto_open_depth); @@ -18436,6 +20223,12 @@ private partial struct __Internal64 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetForegroundDrawList@ImGui@@YAPEAUImDrawList@@XZ", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr GetForegroundDrawList(); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetBackgroundDrawList@ImGui@@YAPEAUImDrawList@@PEAUImGuiViewport@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetBackgroundDrawList(IntPtr viewport); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetForegroundDrawList@ImGui@@YAPEAUImDrawList@@PEAUImGuiViewport@@@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetForegroundDrawList(IntPtr viewport); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?IsRectVisible@ImGui@@YA_NAEBUImVec2@@@Z", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] internal static extern bool IsRectVisible(IntPtr size); @@ -18598,12 +20391,30 @@ private partial struct __Internal64 [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?MemFree@ImGui@@YAXPEAX@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern void MemFree(IntPtr ptr); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetPlatformIO@ImGui@@YAAEAUImGuiPlatformIO@@XZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr GetPlatformIO(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?UpdatePlatformWindows@ImGui@@YAXXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void UpdatePlatformWindows(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?RenderPlatformWindowsDefault@ImGui@@YAXPEAX0@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern void RenderPlatformWindowsDefault(IntPtr platform_render_arg, IntPtr renderer_render_arg); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?DestroyPlatformWindows@ImGui@@YAXXZ", CallingConvention = CallingConvention.Cdecl)] + internal static extern void DestroyPlatformWindows(); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?FindViewportByID@ImGui@@YAPEAUImGuiViewport@@I@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr FindViewportByID(uint id); + + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?FindViewportByPlatformHandle@ImGui@@YAPEAUImGuiViewport@@PEAX@Z", CallingConvention = CallingConvention.Cdecl)] + internal static extern IntPtr FindViewportByPlatformHandle(IntPtr platform_handle); + [SuppressUnmanagedCodeSecurity, DllImport("imgui", EntryPoint = "?GetKeyIndex@ImGui@@YAHH@Z", CallingConvention = CallingConvention.Cdecl)] internal static extern int GetKeyIndex(ImGuiKey key); } - /// Context creation and access.
- Each context create its own ImFontAtlas by default. You may instance one yourself and pass it to CreateContext() to share a font atlas between contexts.
- DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions().
For each static/DLL boundary you are calling from. Read "Context and Memory Allocators" section of imgui.cpp for details.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L284.
+ /// Context creation and access.
- Each context create its own ImFontAtlas by default. You may instance one yourself and pass it to CreateContext() to share a font atlas between contexts.
- DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions().
For each static/DLL boundary you are calling from. Read "Context and Memory Allocators" section of imgui.cpp for details.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L290.
// DEBUG: ImGuiContext* CreateContext(ImFontAtlas* shared_font_atlas = NULL) public static IntPtr CreateContext(ImFontAtlas shared_font_atlas = default) { @@ -18614,7 +20425,7 @@ public static IntPtr CreateContext(ImFontAtlas shared_font_atlas = default) ; } - /// NULL = destroy current context.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L285.
+ /// NULL = destroy current context.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L291.
// DEBUG: void DestroyContext(ImGuiContext* ctx = NULL) public static void DestroyContext(IntPtr ctx = default) { @@ -18631,7 +20442,7 @@ public static void DestroyContext(IntPtr ctx = default) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L286. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L292. // DEBUG: ImGuiContext* GetCurrentContext() public static IntPtr GetCurrentContext() { @@ -18641,7 +20452,7 @@ public static IntPtr GetCurrentContext() ; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L287. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L293. // DEBUG: void SetCurrentContext(ImGuiContext* ctx) public static void SetCurrentContext(IntPtr ctx) { @@ -18658,7 +20469,7 @@ public static void SetCurrentContext(IntPtr ctx) } } - /// Access the IO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L290.
+ /// Access the IO structure (mouse/keyboard/gamepad inputs, time, various configuration options/flags).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L296.
// DEBUG: ImGuiIO& GetIO() public static ImGuiIO GetIO() { @@ -18667,7 +20478,7 @@ public static ImGuiIO GetIO() return __result0; } - /// Access the Style structure (colors, sizes). Always use PushStyleCol(), PushStyleVar() to modify style mid-frame!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L291.
+ /// Access the Style structure (colors, sizes). Always use PushStyleCol(), PushStyleVar() to modify style mid-frame!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L297.
// DEBUG: ImGuiStyle& GetStyle() public static ImGuiStyle GetStyle() { @@ -18676,7 +20487,7 @@ public static ImGuiStyle GetStyle() return __result0; } - /// Start a new Dear ImGui frame, you can submit any command from this point until Render()/EndFrame().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L292.
+ /// Start a new Dear ImGui frame, you can submit any command from this point until Render()/EndFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L298.
// DEBUG: void NewFrame() public static void NewFrame() { @@ -18690,7 +20501,7 @@ public static void NewFrame() } } - /// Ends the Dear ImGui frame. automatically called by Render(). If you don't need to render data (skipping rendering) you may call EndFrame() without Render()... but you'll have wasted CPU already! If you don't need to render, better to not create any windows and not call NewFrame() at all!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L293.
+ /// Ends the Dear ImGui frame. automatically called by Render(). If you don't need to render data (skipping rendering) you may call EndFrame() without Render()... but you'll have wasted CPU already! If you don't need to render, better to not create any windows and not call NewFrame() at all!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L299.
// DEBUG: void EndFrame() public static void EndFrame() { @@ -18704,7 +20515,7 @@ public static void EndFrame() } } - /// Ends the Dear ImGui frame, finalize the draw data. You can then get call GetDrawData().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L294.
+ /// Ends the Dear ImGui frame, finalize the draw data. You can then get call GetDrawData().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L300.
// DEBUG: void Render() public static void Render() { @@ -18718,7 +20529,7 @@ public static void Render() } } - /// Valid after Render() and until the next call to NewFrame(). this is what you have to render.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L295.
+ /// Valid after Render() and until the next call to NewFrame(). this is what you have to render.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L301.
// DEBUG: ImDrawData* GetDrawData() public static ImDrawData GetDrawData() { @@ -18727,7 +20538,7 @@ public static ImDrawData GetDrawData() return __result0; } - /// Create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L298.
+ /// Create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L304.
// DEBUG: void ShowDemoWindow(bool* p_open = NULL) public static void ShowDemoWindow(ref bool p_open) { @@ -18745,7 +20556,7 @@ public static void ShowDemoWindow(ref bool p_open) } } - /// Create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L299.
+ /// Create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L305.
// DEBUG: void ShowMetricsWindow(bool* p_open = NULL) public static void ShowMetricsWindow(ref bool p_open) { @@ -18763,7 +20574,7 @@ public static void ShowMetricsWindow(ref bool p_open) } } - /// Create Debug Log window. display a simplified log of important dear imgui events.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L300.
+ /// Create Debug Log window. display a simplified log of important dear imgui events.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L306.
// DEBUG: void ShowDebugLogWindow(bool* p_open = NULL) public static void ShowDebugLogWindow(ref bool p_open) { @@ -18781,7 +20592,7 @@ public static void ShowDebugLogWindow(ref bool p_open) } } - /// Create Stack Tool window. hover items with mouse to query information about the source of their unique ID.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L301.
+ /// Create Stack Tool window. hover items with mouse to query information about the source of their unique ID.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L307.
// DEBUG: void ShowStackToolWindow(bool* p_open = NULL) public static void ShowStackToolWindow(ref bool p_open) { @@ -18799,7 +20610,7 @@ public static void ShowStackToolWindow(ref bool p_open) } } - /// Create About window. display Dear ImGui version, credits and build/system information.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L302.
+ /// Create About window. display Dear ImGui version, credits and build/system information.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L308.
// DEBUG: void ShowAboutWindow(bool* p_open = NULL) public static void ShowAboutWindow(ref bool p_open) { @@ -18817,7 +20628,7 @@ public static void ShowAboutWindow(ref bool p_open) } } - /// Add style editor block (not a window). you can pass in a reference ImGuiStyle structure to compare to, revert to and save to (else it uses the default style).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L303.
+ /// Add style editor block (not a window). you can pass in a reference ImGuiStyle structure to compare to, revert to and save to (else it uses the default style).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L309.
// DEBUG: void ShowStyleEditor(ImGuiStyle* ref = NULL) public static void ShowStyleEditor(ImGuiStyle @ref = default) { @@ -18832,7 +20643,7 @@ public static void ShowStyleEditor(ImGuiStyle @ref = default) } } - /// Add style selector block (not a window), essentially a combo listing the default styles.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L304.
+ /// Add style selector block (not a window), essentially a combo listing the default styles.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L310.
// DEBUG: bool ShowStyleSelector(const char* label) public static bool ShowStyleSelector(string label) { @@ -18840,7 +20651,7 @@ public static bool ShowStyleSelector(string label) return ___ret; } - /// Add font selector block (not a window), essentially a combo listing the loaded fonts.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L305.
+ /// Add font selector block (not a window), essentially a combo listing the loaded fonts.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L311.
// DEBUG: void ShowFontSelector(const char* label) public static void ShowFontSelector(string label) { @@ -18854,7 +20665,7 @@ public static void ShowFontSelector(string label) } } - /// Add basic help/info block (not a window): how to manipulate ImGui as a end-user (mouse/keyboard controls).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L306.
+ /// Add basic help/info block (not a window): how to manipulate ImGui as a end-user (mouse/keyboard controls).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L312.
// DEBUG: void ShowUserGuide() public static void ShowUserGuide() { @@ -18868,7 +20679,7 @@ public static void ShowUserGuide() } } - /// Get the compiled version string e.g. "1.80 WIP" (essentially the value for IMGUI_VERSION from the compiled version of imgui.cpp).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L307.
+ /// Get the compiled version string e.g. "1.80 WIP" (essentially the value for IMGUI_VERSION from the compiled version of imgui.cpp).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L313.
// DEBUG: const char* GetVersion() public static string GetVersion() { @@ -18876,7 +20687,7 @@ public static string GetVersion() return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); } - /// New, recommended style (default).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L310.
+ /// New, recommended style (default).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L316.
// DEBUG: void StyleColorsDark(ImGuiStyle* dst = NULL) public static void StyleColorsDark(ImGuiStyle dst = default) { @@ -18891,7 +20702,7 @@ public static void StyleColorsDark(ImGuiStyle dst = default) } } - /// Best used with borders and a custom, thicker font.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L311.
+ /// Best used with borders and a custom, thicker font.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L317.
// DEBUG: void StyleColorsLight(ImGuiStyle* dst = NULL) public static void StyleColorsLight(ImGuiStyle dst = default) { @@ -18906,7 +20717,7 @@ public static void StyleColorsLight(ImGuiStyle dst = default) } } - /// Classic imgui style.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L312.
+ /// Classic imgui style.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L318.
// DEBUG: void StyleColorsClassic(ImGuiStyle* dst = NULL) public static void StyleColorsClassic(ImGuiStyle dst = default) { @@ -18921,7 +20732,7 @@ public static void StyleColorsClassic(ImGuiStyle dst = default) } } - /// Windows.
- Begin() = push window to the stack and start appending to it. End() = pop window from the stack.
- Passing 'bool* p_open != NULL' shows a window-closing widget in the upper-right corner of the window,.
Which clicking will set the boolean to false when clicked.
- You may append multiple times to the same window during the same frame by calling Begin()/End() pairs multiple times.
Some information such as 'flags' or 'p_open' will only be considered by the first call to Begin().
- Begin() return false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting.
Anything to the window. Always call a matching End() for each Begin() call, regardless of its return value!
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
- Note that the bottom of window stack always contains a window called "Debug".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L326.
+ /// Windows.
- Begin() = push window to the stack and start appending to it. End() = pop window from the stack.
- Passing 'bool* p_open != NULL' shows a window-closing widget in the upper-right corner of the window,.
Which clicking will set the boolean to false when clicked.
- You may append multiple times to the same window during the same frame by calling Begin()/End() pairs multiple times.
Some information such as 'flags' or 'p_open' will only be considered by the first call to Begin().
- Begin() return false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting.
Anything to the window. Always call a matching End() for each Begin() call, regardless of its return value!
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
- Note that the bottom of window stack always contains a window called "Debug".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L332.
// DEBUG: bool Begin(const char* name, bool* p_open = NULL, ImGuiWindowFlags flags = 0) public static bool Begin(string name, ref bool p_open, ImGuiWindowFlags flags = (ImGuiWindowFlags)(0)) { @@ -18933,7 +20744,7 @@ public static bool Begin(string name, ref bool p_open, ImGuiWindowFlags flags = } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L327. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L333. // DEBUG: void End() public static void End() { @@ -18947,7 +20758,7 @@ public static void End() } } - /// Child Windows.
- Use child windows to begin into a self-contained independent scrolling/clipping regions within a host window. Child windows can embed their own child.
- For each independent axis of 'size': ==0.0f: use remaining host window size / >0.0f: fixed size / <0.0f: use remaining window size minus abs(size) / Each axis can use a different mode, e.g. ImVec2(0,400).
- BeginChild() returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window.
Always call a matching EndChild() for each BeginChild() call, regardless of its return value.
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L337.
+ /// Child Windows.
- Use child windows to begin into a self-contained independent scrolling/clipping regions within a host window. Child windows can embed their own child.
- For each independent axis of 'size': ==0.0f: use remaining host window size / >0.0f: fixed size / <0.0f: use remaining window size minus abs(size) / Each axis can use a different mode, e.g. ImVec2(0,400).
- BeginChild() returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window.
Always call a matching EndChild() for each BeginChild() call, regardless of its return value.
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L343.
// DEBUG: bool BeginChild(const char* str_id, const ImVec2& size = ImVec2(0, 0), bool border = false, ImGuiWindowFlags flags = 0) public static bool BeginChild(string str_id, Vector2 size, bool border = false, ImGuiWindowFlags flags = (ImGuiWindowFlags)(0)) { @@ -18959,7 +20770,7 @@ public static bool BeginChild(string str_id, Vector2 size, bool border = false, return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L338. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L344. // DEBUG: bool BeginChild(ImGuiID id, const ImVec2& size = ImVec2(0, 0), bool border = false, ImGuiWindowFlags flags = 0) public static bool BeginChild(uint id, Vector2 size, bool border = false, ImGuiWindowFlags flags = (ImGuiWindowFlags)(0)) { @@ -18971,7 +20782,7 @@ public static bool BeginChild(uint id, Vector2 size, bool border = false, ImGuiW return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L339. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L345. // DEBUG: void EndChild() public static void EndChild() { @@ -18985,7 +20796,7 @@ public static void EndChild() } } - /// Windows Utilities.
- 'current window' = the window we are appending into while inside a Begin()/End() block. 'next window' = next window we will Begin() into.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L343.
+ /// Windows Utilities.
- 'current window' = the window we are appending into while inside a Begin()/End() block. 'next window' = next window we will Begin() into.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L349.
// DEBUG: bool IsWindowAppearing() public static bool IsWindowAppearing() { @@ -18993,7 +20804,7 @@ public static bool IsWindowAppearing() return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L344. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L350. // DEBUG: bool IsWindowCollapsed() public static bool IsWindowCollapsed() { @@ -19001,7 +20812,7 @@ public static bool IsWindowCollapsed() return ___ret; } - /// Is current window focused? or its root/child, depending on flags. see flags for options.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L345.
+ /// Is current window focused? or its root/child, depending on flags. see flags for options.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L351.
// DEBUG: bool IsWindowFocused(ImGuiFocusedFlags flags=0) public static bool IsWindowFocused(ImGuiFocusedFlags flags = (ImGuiFocusedFlags)(0)) { @@ -19009,7 +20820,7 @@ public static bool IsWindowFocused(ImGuiFocusedFlags flags = (ImGuiFocusedFlags) return ___ret; } - /// Is current window hovered (and typically: not blocked by a popup/modal)? see flags for options. NB: If you are trying to check whether your mouse should be dispatched to imgui or to your app, you should use the 'io.WantCaptureMouse' boolean for that! Please read the FAQ!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L346.
+ /// Is current window hovered (and typically: not blocked by a popup/modal)? see flags for options. NB: If you are trying to check whether your mouse should be dispatched to imgui or to your app, you should use the 'io.WantCaptureMouse' boolean for that! Please read the FAQ!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L352.
// DEBUG: bool IsWindowHovered(ImGuiHoveredFlags flags=0) public static bool IsWindowHovered(ImGuiHoveredFlags flags = (ImGuiHoveredFlags)(0)) { @@ -19017,7 +20828,7 @@ public static bool IsWindowHovered(ImGuiHoveredFlags flags = (ImGuiHoveredFlags) return ___ret; } - /// Get draw list associated to the current window, to append your own drawing primitives.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L347.
+ /// Get draw list associated to the current window, to append your own drawing primitives.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L353.
// DEBUG: ImDrawList* GetWindowDrawList() public static ImDrawList GetWindowDrawList() { @@ -19026,7 +20837,15 @@ public static ImDrawList GetWindowDrawList() return __result0; } - /// Get current window position in screen space (useful if you want to do your own drawing via the DrawList API).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L348.
+ /// Get DPI scale currently associated to the current window's viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L354.
+ // DEBUG: float GetWindowDpiScale() + public static float GetWindowDpiScale() + { + var ___ret = Environment.Is64BitProcess ? __Internal64.GetWindowDpiScale() : __Internal32.GetWindowDpiScale(); + return ___ret; + } + + /// Get current window position in screen space (useful if you want to do your own drawing via the DrawList API).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L355.
// DEBUG: ImVec2 GetWindowPos() public static Vector2 GetWindowPos() { @@ -19046,7 +20865,7 @@ public static Vector2 GetWindowPos() ; } - /// Get current window size.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L349.
+ /// Get current window size.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L356.
// DEBUG: ImVec2 GetWindowSize() public static Vector2 GetWindowSize() { @@ -19066,7 +20885,7 @@ public static Vector2 GetWindowSize() ; } - /// Get current window width (shortcut for GetWindowSize().x).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L350.
+ /// Get current window width (shortcut for GetWindowSize().x).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L357.
// DEBUG: float GetWindowWidth() public static float GetWindowWidth() { @@ -19074,7 +20893,7 @@ public static float GetWindowWidth() return ___ret; } - /// Get current window height (shortcut for GetWindowSize().y).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L351.
+ /// Get current window height (shortcut for GetWindowSize().y).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L358.
// DEBUG: float GetWindowHeight() public static float GetWindowHeight() { @@ -19082,7 +20901,16 @@ public static float GetWindowHeight() return ___ret; } - /// Set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L355.
+ /// Get viewport currently associated to the current window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L359.
+ // DEBUG: ImGuiViewport*GetWindowViewport() + public static ImGuiViewport GetWindowViewport() + { + var ___ret = Environment.Is64BitProcess ? __Internal64.GetWindowViewport() : __Internal32.GetWindowViewport(); + var __result0 = ImGuiViewport.__GetOrCreateInstance(___ret, false); + return __result0; + } + + /// Set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L363.
// DEBUG: void SetNextWindowPos(const ImVec2& pos, ImGuiCond cond = 0, const ImVec2& pivot = ImVec2(0, 0)) public static void SetNextWindowPos(Vector2 pos, ImGuiCond cond, Vector2 pivot) { @@ -19104,7 +20932,7 @@ public static void SetNextWindowPos(Vector2 pos, ImGuiCond cond, Vector2 pivot) } } - /// Set next window size. set axis to 0.0f to force an auto-fit on this axis. call before Begin().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L356.
+ /// Set next window size. set axis to 0.0f to force an auto-fit on this axis. call before Begin().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L364.
// DEBUG: void SetNextWindowSize(const ImVec2& size, ImGuiCond cond = 0) public static void SetNextWindowSize(Vector2 size, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19122,7 +20950,7 @@ public static void SetNextWindowSize(Vector2 size, ImGuiCond cond = (ImGuiCond)( } } - /// Set next window size limits. use -1,-1 on either X/Y axis to preserve the current size. Sizes will be rounded down. Use callback to apply non-trivial programmatic constraints.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L357.
+ /// Set next window size limits. use -1,-1 on either X/Y axis to preserve the current size. Sizes will be rounded down. Use callback to apply non-trivial programmatic constraints.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L365.
// DEBUG: void SetNextWindowSizeConstraints(const ImVec2& size_min, const ImVec2& size_max, ImGuiSizeCallback custom_callback = NULL, void* custom_callback_data = NULL) public static void SetNextWindowSizeConstraints(Vector2 size_min, Vector2 size_max, ImGuiSizeCallback custom_callback = null, IntPtr custom_callback_data = default) { @@ -19145,7 +20973,7 @@ public static void SetNextWindowSizeConstraints(Vector2 size_min, Vector2 size_m } } - /// Set next window content size (~ scrollable client area, which enforce the range of scrollbars). Not including window decorations (title bar, menu bar, etc.) nor WindowPadding. set an axis to 0.0f to leave it automatic. call before Begin().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L358.
+ /// Set next window content size (~ scrollable client area, which enforce the range of scrollbars). Not including window decorations (title bar, menu bar, etc.) nor WindowPadding. set an axis to 0.0f to leave it automatic. call before Begin().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L366.
// DEBUG: void SetNextWindowContentSize(const ImVec2& size) public static void SetNextWindowContentSize(Vector2 size) { @@ -19163,7 +20991,7 @@ public static void SetNextWindowContentSize(Vector2 size) } } - /// Set next window collapsed state. call before Begin().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L359.
+ /// Set next window collapsed state. call before Begin().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L367.
// DEBUG: void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond = 0) public static void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19177,7 +21005,7 @@ public static void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond = (ImGu } } - /// Set next window to be focused / top-most. call before Begin().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L360.
+ /// Set next window to be focused / top-most. call before Begin().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L368.
// DEBUG: void SetNextWindowFocus() public static void SetNextWindowFocus() { @@ -19191,7 +21019,7 @@ public static void SetNextWindowFocus() } } - /// Set next window background color alpha. helper to easily override the Alpha component of ImGuiCol_WindowBg/ChildBg/PopupBg. you may also use ImGuiWindowFlags_NoBackground.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L361.
+ /// Set next window background color alpha. helper to easily override the Alpha component of ImGuiCol_WindowBg/ChildBg/PopupBg. you may also use ImGuiWindowFlags_NoBackground.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L369.
// DEBUG: void SetNextWindowBgAlpha(float alpha) public static void SetNextWindowBgAlpha(float alpha) { @@ -19205,7 +21033,21 @@ public static void SetNextWindowBgAlpha(float alpha) } } - /// (not recommended) set current window position - call within Begin()/End(). prefer using SetNextWindowPos(), as this may incur tearing and side-effects.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L362.
+ /// Set next window viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L370.
+ // DEBUG: void SetNextWindowViewport(ImGuiID viewport_id) + public static void SetNextWindowViewport(uint viewport_id) + { + if (Environment.Is64BitProcess) + { + __Internal64.SetNextWindowViewport(viewport_id); + } + else + { + __Internal32.SetNextWindowViewport(viewport_id); + } + } + + /// (not recommended) set current window position - call within Begin()/End(). prefer using SetNextWindowPos(), as this may incur tearing and side-effects.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L371.
// DEBUG: void SetWindowPos(const ImVec2& pos, ImGuiCond cond = 0) public static void SetWindowPos(Vector2 pos, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19223,7 +21065,7 @@ public static void SetWindowPos(Vector2 pos, ImGuiCond cond = (ImGuiCond)(0)) } } - /// (not recommended) set current window size - call within Begin()/End(). set to ImVec2(0, 0) to force an auto-fit. prefer using SetNextWindowSize(), as this may incur tearing and minor side-effects.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L363.
+ /// (not recommended) set current window size - call within Begin()/End(). set to ImVec2(0, 0) to force an auto-fit. prefer using SetNextWindowSize(), as this may incur tearing and minor side-effects.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L372.
// DEBUG: void SetWindowSize(const ImVec2& size, ImGuiCond cond = 0) public static void SetWindowSize(Vector2 size, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19241,7 +21083,7 @@ public static void SetWindowSize(Vector2 size, ImGuiCond cond = (ImGuiCond)(0)) } } - /// (not recommended) set current window collapsed state. prefer using SetNextWindowCollapsed().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L364.
+ /// (not recommended) set current window collapsed state. prefer using SetNextWindowCollapsed().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L373.
// DEBUG: void SetWindowCollapsed(bool collapsed, ImGuiCond cond = 0) public static void SetWindowCollapsed(bool collapsed, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19255,7 +21097,7 @@ public static void SetWindowCollapsed(bool collapsed, ImGuiCond cond = (ImGuiCon } } - /// (not recommended) set current window to be focused / top-most. prefer using SetNextWindowFocus().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L365.
+ /// (not recommended) set current window to be focused / top-most. prefer using SetNextWindowFocus().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L374.
// DEBUG: void SetWindowFocus() public static void SetWindowFocus() { @@ -19269,7 +21111,7 @@ public static void SetWindowFocus() } } - /// [OBSOLETE] set font scale. Adjust IO.FontGlobalScale if you want to scale all windows. This is an old API! For correct scaling, prefer to reload font + rebuild ImFontAtlas + call style.ScaleAllSizes().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L366.
+ /// [OBSOLETE] set font scale. Adjust IO.FontGlobalScale if you want to scale all windows. This is an old API! For correct scaling, prefer to reload font + rebuild ImFontAtlas + call style.ScaleAllSizes().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L375.
// DEBUG: void SetWindowFontScale(float scale) public static void SetWindowFontScale(float scale) { @@ -19283,7 +21125,7 @@ public static void SetWindowFontScale(float scale) } } - /// Set named window position.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L367.
+ /// Set named window position.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L376.
// DEBUG: void SetWindowPos(const char* name, const ImVec2& pos, ImGuiCond cond = 0) public static void SetWindowPos(string name, Vector2 pos, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19301,7 +21143,7 @@ public static void SetWindowPos(string name, Vector2 pos, ImGuiCond cond = (ImGu } } - /// Set named window size. set axis to 0.0f to force an auto-fit on this axis.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L368.
+ /// Set named window size. set axis to 0.0f to force an auto-fit on this axis.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L377.
// DEBUG: void SetWindowSize(const char* name, const ImVec2& size, ImGuiCond cond = 0) public static void SetWindowSize(string name, Vector2 size, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19319,7 +21161,7 @@ public static void SetWindowSize(string name, Vector2 size, ImGuiCond cond = (Im } } - /// Set named window collapsed state.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L369.
+ /// Set named window collapsed state.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L378.
// DEBUG: void SetWindowCollapsed(const char* name, bool collapsed, ImGuiCond cond = 0) public static void SetWindowCollapsed(string name, bool collapsed, ImGuiCond cond = (ImGuiCond)(0)) { @@ -19333,7 +21175,7 @@ public static void SetWindowCollapsed(string name, bool collapsed, ImGuiCond con } } - /// Set named window to be focused / top-most. use NULL to remove focus.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L370.
+ /// Set named window to be focused / top-most. use NULL to remove focus.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L379.
// DEBUG: void SetWindowFocus(const char* name) public static void SetWindowFocus(string name) { @@ -19347,7 +21189,7 @@ public static void SetWindowFocus(string name) } } - /// == GetContentRegionMax() - GetCursorPos().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L375.
+ /// == GetContentRegionMax() - GetCursorPos().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L384.
// DEBUG: ImVec2 GetContentRegionAvail() public static Vector2 GetContentRegionAvail() { @@ -19367,7 +21209,7 @@ public static Vector2 GetContentRegionAvail() ; } - /// Current content boundaries (typically window boundaries including scrolling, or current column boundaries), in windows coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L376.
+ /// Current content boundaries (typically window boundaries including scrolling, or current column boundaries), in windows coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L385.
// DEBUG: ImVec2 GetContentRegionMax() public static Vector2 GetContentRegionMax() { @@ -19387,7 +21229,7 @@ public static Vector2 GetContentRegionMax() ; } - /// Content boundaries min for the full window (roughly (0,0)-Scroll), in window coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L377.
+ /// Content boundaries min for the full window (roughly (0,0)-Scroll), in window coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L386.
// DEBUG: ImVec2 GetWindowContentRegionMin() public static Vector2 GetWindowContentRegionMin() { @@ -19407,7 +21249,7 @@ public static Vector2 GetWindowContentRegionMin() ; } - /// Content boundaries max for the full window (roughly (0,0)+Size-Scroll) where Size can be override with SetNextWindowContentSize(), in window coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L378.
+ /// Content boundaries max for the full window (roughly (0,0)+Size-Scroll) where Size can be override with SetNextWindowContentSize(), in window coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L387.
// DEBUG: ImVec2 GetWindowContentRegionMax() public static Vector2 GetWindowContentRegionMax() { @@ -19427,7 +21269,7 @@ public static Vector2 GetWindowContentRegionMax() ; } - /// Get scrolling amount [0 .. GetScrollMaxX()].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L381.
+ /// Get scrolling amount [0 .. GetScrollMaxX()].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L390.
// DEBUG: float GetScrollX() public static float GetScrollX() { @@ -19435,7 +21277,7 @@ public static float GetScrollX() return ___ret; } - /// Get scrolling amount [0 .. GetScrollMaxY()].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L382.
+ /// Get scrolling amount [0 .. GetScrollMaxY()].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L391.
// DEBUG: float GetScrollY() public static float GetScrollY() { @@ -19443,7 +21285,7 @@ public static float GetScrollY() return ___ret; } - /// Set scrolling amount [0 .. GetScrollMaxX()].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L383.
+ /// Set scrolling amount [0 .. GetScrollMaxX()].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L392.
// DEBUG: void SetScrollX(float scroll_x) public static void SetScrollX(float scroll_x) { @@ -19457,7 +21299,7 @@ public static void SetScrollX(float scroll_x) } } - /// Set scrolling amount [0 .. GetScrollMaxY()].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L384.
+ /// Set scrolling amount [0 .. GetScrollMaxY()].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L393.
// DEBUG: void SetScrollY(float scroll_y) public static void SetScrollY(float scroll_y) { @@ -19471,7 +21313,7 @@ public static void SetScrollY(float scroll_y) } } - /// Get maximum scrolling amount ~~ ContentSize.x - WindowSize.x - DecorationsSize.x.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L385.
+ /// Get maximum scrolling amount ~~ ContentSize.x - WindowSize.x - DecorationsSize.x.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L394.
// DEBUG: float GetScrollMaxX() public static float GetScrollMaxX() { @@ -19479,7 +21321,7 @@ public static float GetScrollMaxX() return ___ret; } - /// Get maximum scrolling amount ~~ ContentSize.y - WindowSize.y - DecorationsSize.y.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L386.
+ /// Get maximum scrolling amount ~~ ContentSize.y - WindowSize.y - DecorationsSize.y.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L395.
// DEBUG: float GetScrollMaxY() public static float GetScrollMaxY() { @@ -19487,7 +21329,7 @@ public static float GetScrollMaxY() return ___ret; } - /// Adjust scrolling amount to make current cursor position visible. center_x_ratio=0.0: left, 0.5: center, 1.0: right. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L387.
+ /// Adjust scrolling amount to make current cursor position visible. center_x_ratio=0.0: left, 0.5: center, 1.0: right. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L396.
// DEBUG: void SetScrollHereX(float center_x_ratio = 0.5f) public static void SetScrollHereX(float center_x_ratio = 0.5F) { @@ -19501,7 +21343,7 @@ public static void SetScrollHereX(float center_x_ratio = 0.5F) } } - /// Adjust scrolling amount to make current cursor position visible. center_y_ratio=0.0: top, 0.5: center, 1.0: bottom. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L388.
+ /// Adjust scrolling amount to make current cursor position visible. center_y_ratio=0.0: top, 0.5: center, 1.0: bottom. When using to make a "default/current item" visible, consider using SetItemDefaultFocus() instead.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L397.
// DEBUG: void SetScrollHereY(float center_y_ratio = 0.5f) public static void SetScrollHereY(float center_y_ratio = 0.5F) { @@ -19515,7 +21357,7 @@ public static void SetScrollHereY(float center_y_ratio = 0.5F) } } - /// Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L389.
+ /// Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L398.
// DEBUG: void SetScrollFromPosX(float local_x, float center_x_ratio = 0.5f) public static void SetScrollFromPosX(float local_x, float center_x_ratio = 0.5F) { @@ -19529,7 +21371,7 @@ public static void SetScrollFromPosX(float local_x, float center_x_ratio = 0.5F) } } - /// Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L390.
+ /// Adjust scrolling amount to make given position visible. Generally GetCursorStartPos() + offset to compute a valid position.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L399.
// DEBUG: void SetScrollFromPosY(float local_y, float center_y_ratio = 0.5f) public static void SetScrollFromPosY(float local_y, float center_y_ratio = 0.5F) { @@ -19543,7 +21385,7 @@ public static void SetScrollFromPosY(float local_y, float center_y_ratio = 0.5F) } } - /// Use NULL as a shortcut to push default font.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L393.
+ /// Use NULL as a shortcut to push default font.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L402.
// DEBUG: void PushFont(ImFont* font) public static void PushFont(ImFont font) { @@ -19558,7 +21400,7 @@ public static void PushFont(ImFont font) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L394. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L403. // DEBUG: void PopFont() public static void PopFont() { @@ -19572,7 +21414,7 @@ public static void PopFont() } } - /// Modify a style color. always use this if you modify the style after NewFrame().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L395.
+ /// Modify a style color. always use this if you modify the style after NewFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L404.
// DEBUG: void PushStyleColor(ImGuiCol idx, ImU32 col) public static void PushStyleColor(ImGuiCol idx, uint col) { @@ -19586,7 +21428,7 @@ public static void PushStyleColor(ImGuiCol idx, uint col) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L396. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L405. // DEBUG: void PushStyleColor(ImGuiCol idx, const ImVec4& col) public static void PushStyleColor(ImGuiCol idx, Vector4 col) { @@ -19604,7 +21446,7 @@ public static void PushStyleColor(ImGuiCol idx, Vector4 col) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L397. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L406. // DEBUG: void PopStyleColor(int count = 1) public static void PopStyleColor(int count = (int)(1)) { @@ -19618,7 +21460,7 @@ public static void PopStyleColor(int count = (int)(1)) } } - /// Modify a style float variable. always use this if you modify the style after NewFrame().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L398.
+ /// Modify a style float variable. always use this if you modify the style after NewFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L407.
// DEBUG: void PushStyleVar(ImGuiStyleVar idx, float val) public static void PushStyleVar(ImGuiStyleVar idx, float val) { @@ -19632,7 +21474,7 @@ public static void PushStyleVar(ImGuiStyleVar idx, float val) } } - /// Modify a style ImVec2 variable. always use this if you modify the style after NewFrame().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L399.
+ /// Modify a style ImVec2 variable. always use this if you modify the style after NewFrame().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L408.
// DEBUG: void PushStyleVar(ImGuiStyleVar idx, const ImVec2& val) public static void PushStyleVar(ImGuiStyleVar idx, Vector2 val) { @@ -19650,7 +21492,7 @@ public static void PushStyleVar(ImGuiStyleVar idx, Vector2 val) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L400. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L409. // DEBUG: void PopStyleVar(int count = 1) public static void PopStyleVar(int count = (int)(1)) { @@ -19664,7 +21506,7 @@ public static void PopStyleVar(int count = (int)(1)) } } - /// == tab stop enable. Allow focusing using TAB/Shift-TAB, enabled by default but you can disable it for certain widgets.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L401.
+ /// == tab stop enable. Allow focusing using TAB/Shift-TAB, enabled by default but you can disable it for certain widgets.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L410.
// DEBUG: void PushAllowKeyboardFocus(bool allow_keyboard_focus) public static void PushAllowKeyboardFocus(bool allow_keyboard_focus) { @@ -19678,7 +21520,7 @@ public static void PushAllowKeyboardFocus(bool allow_keyboard_focus) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L402. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L411. // DEBUG: void PopAllowKeyboardFocus() public static void PopAllowKeyboardFocus() { @@ -19692,7 +21534,7 @@ public static void PopAllowKeyboardFocus() } } - /// In 'repeat' mode, Button*() functions return repeated true in a typematic manner (using io.KeyRepeatDelay/io.KeyRepeatRate setting). Note that you can call IsItemActive() after any Button() to tell if the button is held in the current frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L403.
+ /// In 'repeat' mode, Button*() functions return repeated true in a typematic manner (using io.KeyRepeatDelay/io.KeyRepeatRate setting). Note that you can call IsItemActive() after any Button() to tell if the button is held in the current frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L412.
// DEBUG: void PushButtonRepeat(bool repeat) public static void PushButtonRepeat(bool repeat) { @@ -19706,7 +21548,7 @@ public static void PushButtonRepeat(bool repeat) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L404. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L413. // DEBUG: void PopButtonRepeat() public static void PopButtonRepeat() { @@ -19720,7 +21562,7 @@ public static void PopButtonRepeat() } } - /// Push width of items for common large "item+label" widgets. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L407.
+ /// Push width of items for common large "item+label" widgets. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L416.
// DEBUG: void PushItemWidth(float item_width) public static void PushItemWidth(float item_width) { @@ -19734,7 +21576,7 @@ public static void PushItemWidth(float item_width) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L408. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L417. // DEBUG: void PopItemWidth() public static void PopItemWidth() { @@ -19748,7 +21590,7 @@ public static void PopItemWidth() } } - /// Set width of the _next_ common large "item+label" widget. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L409.
+ /// Set width of the _next_ common large "item+label" widget. >0.0f: width in pixels, <0.0f align xx pixels to the right of window (so -FLT_MIN always align width to the right side).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L418.
// DEBUG: void SetNextItemWidth(float item_width) public static void SetNextItemWidth(float item_width) { @@ -19762,7 +21604,7 @@ public static void SetNextItemWidth(float item_width) } } - /// Width of item given pushed settings and current cursor position. NOT necessarily the width of last item unlike most 'Item' functions.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L410.
+ /// Width of item given pushed settings and current cursor position. NOT necessarily the width of last item unlike most 'Item' functions.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L419.
// DEBUG: float CalcItemWidth() public static float CalcItemWidth() { @@ -19770,7 +21612,7 @@ public static float CalcItemWidth() return ___ret; } - /// Push word-wrapping position for Text*() commands. < 0.0f: no wrapping; 0.0f: wrap to end of window (or column); > 0.0f: wrap at 'wrap_pos_x' position in window local space.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L411.
+ /// Push word-wrapping position for Text*() commands. < 0.0f: no wrapping; 0.0f: wrap to end of window (or column); > 0.0f: wrap at 'wrap_pos_x' position in window local space.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L420.
// DEBUG: void PushTextWrapPos(float wrap_local_pos_x = 0.0f) public static void PushTextWrapPos(float wrap_local_pos_x = 0.0F) { @@ -19784,7 +21626,7 @@ public static void PushTextWrapPos(float wrap_local_pos_x = 0.0F) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L412. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L421. // DEBUG: void PopTextWrapPos() public static void PopTextWrapPos() { @@ -19798,7 +21640,7 @@ public static void PopTextWrapPos() } } - /// Get current font.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L416.
+ /// Get current font.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L425.
// DEBUG: ImFont* GetFont() public static ImFont GetFont() { @@ -19807,7 +21649,7 @@ public static ImFont GetFont() return __result0; } - /// Get current font size (= height in pixels) of current font with current scale applied.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L417.
+ /// Get current font size (= height in pixels) of current font with current scale applied.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L426.
// DEBUG: float GetFontSize() public static float GetFontSize() { @@ -19815,7 +21657,7 @@ public static float GetFontSize() return ___ret; } - /// Get UV coordinate for a while pixel, useful to draw custom shapes via the ImDrawList API.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L418.
+ /// Get UV coordinate for a while pixel, useful to draw custom shapes via the ImDrawList API.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L427.
// DEBUG: ImVec2 GetFontTexUvWhitePixel() public static Vector2 GetFontTexUvWhitePixel() { @@ -19835,7 +21677,7 @@ public static Vector2 GetFontTexUvWhitePixel() ; } - /// Retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L419.
+ /// Retrieve given style color with style alpha applied and optional extra alpha multiplier, packed as a 32-bit value suitable for ImDrawList.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L428.
// DEBUG: ImU32 GetColorU32(ImGuiCol idx, float alpha_mul = 1.0f) public static uint GetColorU32(ImGuiCol idx, float alpha_mul = 1.0F) { @@ -19843,7 +21685,7 @@ public static uint GetColorU32(ImGuiCol idx, float alpha_mul = 1.0F) return ___ret; } - /// Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L420.
+ /// Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L429.
// DEBUG: ImU32 GetColorU32(const ImVec4& col) public static uint GetColorU32(Vector4 col) { @@ -19855,7 +21697,7 @@ public static uint GetColorU32(Vector4 col) return ___ret; } - /// Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L421.
+ /// Retrieve given color with style alpha applied, packed as a 32-bit value suitable for ImDrawList.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L430.
// DEBUG: ImU32 GetColorU32(ImU32 col) public static uint GetColorU32(uint col) { @@ -19863,7 +21705,7 @@ public static uint GetColorU32(uint col) return ___ret; } - /// Retrieve style color as stored in ImGuiStyle structure. use to feed back into PushStyleColor(), otherwise use GetColorU32() to get style color with style alpha baked in.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L422.
+ /// Retrieve style color as stored in ImGuiStyle structure. use to feed back into PushStyleColor(), otherwise use GetColorU32() to get style color with style alpha baked in.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L431.
// DEBUG: const ImVec4& GetStyleColorVec4(ImGuiCol idx) public static Vector4 GetStyleColorVec4(ImGuiCol idx) { @@ -19874,7 +21716,7 @@ public static Vector4 GetStyleColorVec4(ImGuiCol idx) ; } - /// Separator, generally horizontal. inside a menu bar or in horizontal layout mode, this becomes a vertical separator.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L431.
+ /// Separator, generally horizontal. inside a menu bar or in horizontal layout mode, this becomes a vertical separator.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L440.
// DEBUG: void Separator() public static void Separator() { @@ -19888,7 +21730,7 @@ public static void Separator() } } - /// Call between widgets or groups to layout them horizontally. X position given in window coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L432.
+ /// Call between widgets or groups to layout them horizontally. X position given in window coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L441.
// DEBUG: void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f) public static void SameLine(float offset_from_start_x = 0.0F, float spacing = -1.0F) { @@ -19902,7 +21744,7 @@ public static void SameLine(float offset_from_start_x = 0.0F, float spacing = -1 } } - /// Undo a SameLine() or force a new line when in an horizontal-layout context.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L433.
+ /// Undo a SameLine() or force a new line when in an horizontal-layout context.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L442.
// DEBUG: void NewLine() public static void NewLine() { @@ -19916,7 +21758,7 @@ public static void NewLine() } } - /// Add vertical spacing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L434.
+ /// Add vertical spacing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L443.
// DEBUG: void Spacing() public static void Spacing() { @@ -19930,7 +21772,7 @@ public static void Spacing() } } - /// Add a dummy item of given size. unlike InvisibleButton(), Dummy() won't take the mouse click or be navigable into.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L435.
+ /// Add a dummy item of given size. unlike InvisibleButton(), Dummy() won't take the mouse click or be navigable into.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L444.
// DEBUG: void Dummy(const ImVec2& size) public static void Dummy(Vector2 size) { @@ -19948,7 +21790,7 @@ public static void Dummy(Vector2 size) } } - /// Move content position toward the right, by indent_w, or style.IndentSpacing if indent_w <= 0.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L436.
+ /// Move content position toward the right, by indent_w, or style.IndentSpacing if indent_w <= 0.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L445.
// DEBUG: void Indent(float indent_w = 0.0f) public static void Indent(float indent_w = 0.0F) { @@ -19962,7 +21804,7 @@ public static void Indent(float indent_w = 0.0F) } } - /// Move content position back to the left, by indent_w, or style.IndentSpacing if indent_w <= 0.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L437.
+ /// Move content position back to the left, by indent_w, or style.IndentSpacing if indent_w <= 0.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L446.
// DEBUG: void Unindent(float indent_w = 0.0f) public static void Unindent(float indent_w = 0.0F) { @@ -19976,7 +21818,7 @@ public static void Unindent(float indent_w = 0.0F) } } - /// Lock horizontal starting position.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L438.
+ /// Lock horizontal starting position.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L447.
// DEBUG: void BeginGroup() public static void BeginGroup() { @@ -19990,7 +21832,7 @@ public static void BeginGroup() } } - /// Unlock horizontal starting position + capture the whole group bounding box into one "item" (so you can use IsItemHovered() or layout primitives such as SameLine() on whole group, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L439.
+ /// Unlock horizontal starting position + capture the whole group bounding box into one "item" (so you can use IsItemHovered() or layout primitives such as SameLine() on whole group, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L448.
// DEBUG: void EndGroup() public static void EndGroup() { @@ -20004,7 +21846,7 @@ public static void EndGroup() } } - /// Cursor position in window coordinates (relative to window position).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L440.
+ /// Cursor position in window coordinates (relative to window position).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L449.
// DEBUG: ImVec2 GetCursorPos() public static Vector2 GetCursorPos() { @@ -20024,7 +21866,7 @@ public static Vector2 GetCursorPos() ; } - /// (some functions are using window-relative coordinates, such as: GetCursorPos, GetCursorStartPos, GetContentRegionMax, GetWindowContentRegion* etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L441.
+ /// (some functions are using window-relative coordinates, such as: GetCursorPos, GetCursorStartPos, GetContentRegionMax, GetWindowContentRegion* etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L450.
// DEBUG: float GetCursorPosX() public static float GetCursorPosX() { @@ -20032,7 +21874,7 @@ public static float GetCursorPosX() return ___ret; } - /// Other functions such as GetCursorScreenPos or everything in ImDrawList::.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L442.
+ /// Other functions such as GetCursorScreenPos or everything in ImDrawList::.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L451.
// DEBUG: float GetCursorPosY() public static float GetCursorPosY() { @@ -20040,7 +21882,7 @@ public static float GetCursorPosY() return ___ret; } - /// Are using the main, absolute coordinate system.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L443.
+ /// Are using the main, absolute coordinate system.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L452.
// DEBUG: void SetCursorPos(const ImVec2& local_pos) public static void SetCursorPos(Vector2 local_pos) { @@ -20058,7 +21900,7 @@ public static void SetCursorPos(Vector2 local_pos) } } - /// GetWindowPos() + GetCursorPos() == GetCursorScreenPos() etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L444.
+ /// GetWindowPos() + GetCursorPos() == GetCursorScreenPos() etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L453.
// DEBUG: void SetCursorPosX(float local_x) public static void SetCursorPosX(float local_x) { @@ -20072,7 +21914,7 @@ public static void SetCursorPosX(float local_x) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L445. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L454. // DEBUG: void SetCursorPosY(float local_y) public static void SetCursorPosY(float local_y) { @@ -20086,7 +21928,7 @@ public static void SetCursorPosY(float local_y) } } - /// Initial cursor position in window coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L446.
+ /// Initial cursor position in window coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L455.
// DEBUG: ImVec2 GetCursorStartPos() public static Vector2 GetCursorStartPos() { @@ -20106,7 +21948,7 @@ public static Vector2 GetCursorStartPos() ; } - /// Cursor position in absolute coordinates (useful to work with ImDrawList API). generally top-left == GetMainViewport()->Pos == (0,0) in single viewport mode, and bottom-right == GetMainViewport()->Pos+Size == io.DisplaySize in single-viewport mode.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L447.
+ /// Cursor position in absolute coordinates (useful to work with ImDrawList API). generally top-left == GetMainViewport()->Pos == (0,0) in single viewport mode, and bottom-right == GetMainViewport()->Pos+Size == io.DisplaySize in single-viewport mode.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L456.
// DEBUG: ImVec2 GetCursorScreenPos() public static Vector2 GetCursorScreenPos() { @@ -20126,7 +21968,7 @@ public static Vector2 GetCursorScreenPos() ; } - /// Cursor position in absolute coordinates.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L448.
+ /// Cursor position in absolute coordinates.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L457.
// DEBUG: void SetCursorScreenPos(const ImVec2& pos) public static void SetCursorScreenPos(Vector2 pos) { @@ -20144,7 +21986,7 @@ public static void SetCursorScreenPos(Vector2 pos) } } - /// Vertically align upcoming text baseline to FramePadding.y so that it will align properly to regularly framed items (call if you have text on a line before a framed item).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L449.
+ /// Vertically align upcoming text baseline to FramePadding.y so that it will align properly to regularly framed items (call if you have text on a line before a framed item).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L458.
// DEBUG: void AlignTextToFramePadding() public static void AlignTextToFramePadding() { @@ -20158,7 +22000,7 @@ public static void AlignTextToFramePadding() } } - /// ~ FontSize.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L450.
+ /// ~ FontSize.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L459.
// DEBUG: float GetTextLineHeight() public static float GetTextLineHeight() { @@ -20166,7 +22008,7 @@ public static float GetTextLineHeight() return ___ret; } - /// ~ FontSize + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of text).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L451.
+ /// ~ FontSize + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of text).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L460.
// DEBUG: float GetTextLineHeightWithSpacing() public static float GetTextLineHeightWithSpacing() { @@ -20174,7 +22016,7 @@ public static float GetTextLineHeightWithSpacing() return ___ret; } - /// ~ FontSize + style.FramePadding.y * 2.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L452.
+ /// ~ FontSize + style.FramePadding.y * 2.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L461.
// DEBUG: float GetFrameHeight() public static float GetFrameHeight() { @@ -20182,7 +22024,7 @@ public static float GetFrameHeight() return ___ret; } - /// ~ FontSize + style.FramePadding.y * 2 + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of framed widgets).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L453.
+ /// ~ FontSize + style.FramePadding.y * 2 + style.ItemSpacing.y (distance in pixels between 2 consecutive lines of framed widgets).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L462.
// DEBUG: float GetFrameHeightWithSpacing() public static float GetFrameHeightWithSpacing() { @@ -20190,7 +22032,7 @@ public static float GetFrameHeightWithSpacing() return ___ret; } - /// Push string into the ID stack (will hash string).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L466.
+ /// Push string into the ID stack (will hash string).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L475.
// DEBUG: void PushID(const char* str_id) public static void PushID(string str_id) { @@ -20204,7 +22046,7 @@ public static void PushID(string str_id) } } - /// Push string into the ID stack (will hash string).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L467.
+ /// Push string into the ID stack (will hash string).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L476.
// DEBUG: void PushID(const char* str_id_begin, const char* str_id_end) public static void PushID(string str_id_begin, string str_id_end) { @@ -20218,7 +22060,7 @@ public static void PushID(string str_id_begin, string str_id_end) } } - /// Push pointer into the ID stack (will hash pointer).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L468.
+ /// Push pointer into the ID stack (will hash pointer).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L477.
// DEBUG: void PushID(const void* ptr_id) public static void PushID(IntPtr ptr_id) { @@ -20232,7 +22074,7 @@ public static void PushID(IntPtr ptr_id) } } - /// Push integer into the ID stack (will hash integer).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L469.
+ /// Push integer into the ID stack (will hash integer).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L478.
// DEBUG: void PushID(int int_id) public static void PushID(int int_id) { @@ -20246,7 +22088,7 @@ public static void PushID(int int_id) } } - /// Pop from the ID stack.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L470.
+ /// Pop from the ID stack.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L479.
// DEBUG: void PopID() public static void PopID() { @@ -20260,7 +22102,7 @@ public static void PopID() } } - /// Calculate unique ID (hash of whole ID stack + given parameter). e.g. if you want to query into ImGuiStorage yourself.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L471.
+ /// Calculate unique ID (hash of whole ID stack + given parameter). e.g. if you want to query into ImGuiStorage yourself.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L480.
// DEBUG: ImGuiID GetID(const char* str_id) public static uint GetID(string str_id) { @@ -20268,7 +22110,7 @@ public static uint GetID(string str_id) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L472. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L481. // DEBUG: ImGuiID GetID(const char* str_id_begin, const char* str_id_end) public static uint GetID(string str_id_begin, string str_id_end) { @@ -20276,7 +22118,7 @@ public static uint GetID(string str_id_begin, string str_id_end) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L473. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L482. // DEBUG: ImGuiID GetID(const void* ptr_id) public static uint GetID(IntPtr ptr_id) { @@ -20284,7 +22126,7 @@ public static uint GetID(IntPtr ptr_id) return ___ret; } - /// Raw text without formatting. Roughly equivalent to Text("%s", text) but: A) doesn't require null terminated string if 'text_end' is specified, B) it's faster, no memory copy is done, no buffer size limits, recommended for long chunks of text.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L476.
+ /// Raw text without formatting. Roughly equivalent to Text("%s", text) but: A) doesn't require null terminated string if 'text_end' is specified, B) it's faster, no memory copy is done, no buffer size limits, recommended for long chunks of text.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L485.
// DEBUG: void TextUnformatted(const char* text, const char* text_end = NULL) public static void TextUnformatted(string text, string text_end = default) { @@ -20298,7 +22140,7 @@ public static void TextUnformatted(string text, string text_end = default) } } - /// Formatted text.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L477.
+ /// Formatted text.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L486.
// DEBUG: void Text(const char* fmt, ...) IM_FMTARGS(1) public static void Text(string fmt) { @@ -20312,7 +22154,7 @@ public static void Text(string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L478. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L487. // DEBUG: void TextV(const char* fmt, va_list args) IM_FMTLIST(1) public static void TextV(string fmt, Object args) { @@ -20326,7 +22168,7 @@ public static void TextV(string fmt, Object args) } } - /// Shortcut for PushStyleColor(ImGuiCol_Text, col); Text(fmt, ...); PopStyleColor();.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L479.
+ /// Shortcut for PushStyleColor(ImGuiCol_Text, col); Text(fmt, ...); PopStyleColor();.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L488.
// DEBUG: void TextColored(const ImVec4& col, const char* fmt, ...) IM_FMTARGS(2) public static void TextColored(Vector4 col, string fmt) { @@ -20344,7 +22186,7 @@ public static void TextColored(Vector4 col, string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L480. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L489. // DEBUG: void TextColoredV(const ImVec4& col, const char* fmt, va_list args) IM_FMTLIST(2) public static void TextColoredV(Vector4 col, string fmt, Object args) { @@ -20362,7 +22204,7 @@ public static void TextColoredV(Vector4 col, string fmt, Object args) } } - /// Shortcut for PushStyleColor(ImGuiCol_Text, style.Colors[ImGuiCol_TextDisabled]); Text(fmt, ...); PopStyleColor();.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L481.
+ /// Shortcut for PushStyleColor(ImGuiCol_Text, style.Colors[ImGuiCol_TextDisabled]); Text(fmt, ...); PopStyleColor();.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L490.
// DEBUG: void TextDisabled(const char* fmt, ...) IM_FMTARGS(1) public static void TextDisabled(string fmt) { @@ -20376,7 +22218,7 @@ public static void TextDisabled(string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L482. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L491. // DEBUG: void TextDisabledV(const char* fmt, va_list args) IM_FMTLIST(1) public static void TextDisabledV(string fmt, Object args) { @@ -20390,7 +22232,7 @@ public static void TextDisabledV(string fmt, Object args) } } - /// Shortcut for PushTextWrapPos(0.0f); Text(fmt, ...); PopTextWrapPos();. Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, yoy may need to set a size using SetNextWindowSize().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L483.
+ /// Shortcut for PushTextWrapPos(0.0f); Text(fmt, ...); PopTextWrapPos();. Note that this won't work on an auto-resizing window if there's no other widgets to extend the window width, yoy may need to set a size using SetNextWindowSize().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L492.
// DEBUG: void TextWrapped(const char* fmt, ...) IM_FMTARGS(1) public static void TextWrapped(string fmt) { @@ -20404,7 +22246,7 @@ public static void TextWrapped(string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L484. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L493. // DEBUG: void TextWrappedV(const char* fmt, va_list args) IM_FMTLIST(1) public static void TextWrappedV(string fmt, Object args) { @@ -20418,7 +22260,7 @@ public static void TextWrappedV(string fmt, Object args) } } - /// Display text+label aligned the same way as value+label widgets.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L485.
+ /// Display text+label aligned the same way as value+label widgets.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L494.
// DEBUG: void LabelText(const char* label, const char* fmt, ...) IM_FMTARGS(2) public static void LabelText(string label, string fmt) { @@ -20432,7 +22274,7 @@ public static void LabelText(string label, string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L486. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L495. // DEBUG: void LabelTextV(const char* label, const char* fmt, va_list args) IM_FMTLIST(2) public static void LabelTextV(string label, string fmt, Object args) { @@ -20446,7 +22288,7 @@ public static void LabelTextV(string label, string fmt, Object args) } } - /// Shortcut for Bullet()+Text().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L487.
+ /// Shortcut for Bullet()+Text().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L496.
// DEBUG: void BulletText(const char* fmt, ...) IM_FMTARGS(1) public static void BulletText(string fmt) { @@ -20460,7 +22302,7 @@ public static void BulletText(string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L488. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L497. // DEBUG: void BulletTextV(const char* fmt, va_list args) IM_FMTLIST(1) public static void BulletTextV(string fmt, Object args) { @@ -20474,7 +22316,7 @@ public static void BulletTextV(string fmt, Object args) } } - /// Button.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L493.
+ /// Button.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L502.
// DEBUG: bool Button(const char* label, const ImVec2& size = ImVec2(0, 0)) public static bool Button(string label, Vector2 size) { @@ -20486,7 +22328,7 @@ public static bool Button(string label, Vector2 size) return ___ret; } - /// Button with FramePadding=(0,0) to easily embed within text.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L494.
+ /// Button with FramePadding=(0,0) to easily embed within text.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L503.
// DEBUG: bool SmallButton(const char* label) public static bool SmallButton(string label) { @@ -20494,7 +22336,7 @@ public static bool SmallButton(string label) return ___ret; } - /// Flexible button behavior without the visuals, frequently useful to build custom behaviors using the public api (along with IsItemActive, IsItemHovered, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L495.
+ /// Flexible button behavior without the visuals, frequently useful to build custom behaviors using the public api (along with IsItemActive, IsItemHovered, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L504.
// DEBUG: bool InvisibleButton(const char* str_id, const ImVec2& size, ImGuiButtonFlags flags = 0) public static bool InvisibleButton(string str_id, Vector2 size, ImGuiButtonFlags flags = (ImGuiButtonFlags)(0)) { @@ -20506,7 +22348,7 @@ public static bool InvisibleButton(string str_id, Vector2 size, ImGuiButtonFlags return ___ret; } - /// Square button with an arrow shape.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L496.
+ /// Square button with an arrow shape.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L505.
// DEBUG: bool ArrowButton(const char* str_id, ImGuiDir dir) public static bool ArrowButton(string str_id, ImGuiDir dir) { @@ -20514,7 +22356,7 @@ public static bool ArrowButton(string str_id, ImGuiDir dir) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L497. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L506. // DEBUG: void Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), const ImVec4& tint_col = ImVec4(1,1,1,1), const ImVec4& border_col = ImVec4(0,0,0,0)) public static void Image(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vector2 uv1, Vector4 tint_col, Vector4 border_col) { @@ -20548,7 +22390,7 @@ public static void Image(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vect } } - /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L498.
+ /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L507.
// DEBUG: bool ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0,0,0,0), const ImVec4& tint_col = ImVec4(1,1,1,1)) public static bool ImageButton(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vector2 uv1, int frame_padding, Vector4 bg_col, Vector4 tint_col) { @@ -20576,7 +22418,7 @@ public static bool ImageButton(IntPtr user_texture_id, Vector2 size, Vector2 uv0 return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L499. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L508. // DEBUG: bool Checkbox(const char* label, bool* v) public static bool Checkbox(string label, ref bool v) { @@ -20588,7 +22430,7 @@ public static bool Checkbox(string label, ref bool v) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L500. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L509. // DEBUG: bool CheckboxFlags(const char* label, int* flags, int flags_value) public static bool CheckboxFlags(string label, ref int flags, int flags_value) { @@ -20600,7 +22442,7 @@ public static bool CheckboxFlags(string label, ref int flags, int flags_value) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L501. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L510. // DEBUG: bool CheckboxFlags(const char* label, unsigned int* flags, unsigned int flags_value) public static bool CheckboxFlags(string label, ref uint flags, uint flags_value) { @@ -20612,7 +22454,7 @@ public static bool CheckboxFlags(string label, ref uint flags, uint flags_value) } } - /// Use with e.g. if (RadioButton("one", my_value==1)) { my_value = 1; }.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L502.
+ /// Use with e.g. if (RadioButton("one", my_value==1)) { my_value = 1; }.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L511.
// DEBUG: bool RadioButton(const char* label, bool active) public static bool RadioButton(string label, bool active) { @@ -20620,7 +22462,7 @@ public static bool RadioButton(string label, bool active) return ___ret; } - /// Shortcut to handle the above pattern when value is an integer.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L503.
+ /// Shortcut to handle the above pattern when value is an integer.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L512.
// DEBUG: bool RadioButton(const char* label, int* v, int v_button) public static bool RadioButton(string label, ref int v, int v_button) { @@ -20632,7 +22474,7 @@ public static bool RadioButton(string label, ref int v, int v_button) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L504. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L513. // DEBUG: void ProgressBar(float fraction, const ImVec2& size_arg = ImVec2(-FLT_MIN, 0), const char* overlay = NULL) public static void ProgressBar(float fraction, Vector2 size_arg, string overlay = default) { @@ -20650,7 +22492,7 @@ public static void ProgressBar(float fraction, Vector2 size_arg, string overlay } } - /// Draw a small circle + keep the cursor on the same line. advance cursor x position by GetTreeNodeToLabelSpacing(), same distance that TreeNode() uses.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L505.
+ /// Draw a small circle + keep the cursor on the same line. advance cursor x position by GetTreeNodeToLabelSpacing(), same distance that TreeNode() uses.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L514.
// DEBUG: void Bullet() public static void Bullet() { @@ -20664,7 +22506,7 @@ public static void Bullet() } } - /// Widgets: Combo Box.
- The BeginCombo()/EndCombo() api allows you to manage your contents and selection state however you want it, by creating e.g. Selectable() items.
- The old Combo() api are helpers over BeginCombo()/EndCombo() which are kept available for convenience purpose. This is analogous to how ListBox are created.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L510.
+ /// Widgets: Combo Box.
- The BeginCombo()/EndCombo() api allows you to manage your contents and selection state however you want it, by creating e.g. Selectable() items.
- The old Combo() api are helpers over BeginCombo()/EndCombo() which are kept available for convenience purpose. This is analogous to how ListBox are created.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L519.
// DEBUG: bool BeginCombo(const char* label, const char* preview_value, ImGuiComboFlags flags = 0) public static bool BeginCombo(string label, string preview_value, ImGuiComboFlags flags = (ImGuiComboFlags)(0)) { @@ -20672,7 +22514,7 @@ public static bool BeginCombo(string label, string preview_value, ImGuiComboFlag return ___ret; } - /// Only call EndCombo() if BeginCombo() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L511.
+ /// Only call EndCombo() if BeginCombo() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L520.
// DEBUG: void EndCombo() public static void EndCombo() { @@ -20686,7 +22528,7 @@ public static void EndCombo() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L512. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L521. // DEBUG: bool Combo(const char* label, int* current_item, const char* const items[], int items_count, int popup_max_height_in_items = -1) public static bool Combo(string label, ref int current_item, string[] items, int items_count, int popup_max_height_in_items = (int)(-1)) { @@ -20698,7 +22540,7 @@ public static bool Combo(string label, ref int current_item, string[] items, int } } - /// Separate items with \0 within a string, end item-list with \0\0. e.g. "One\0Two\0Three\0".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L513.
+ /// Separate items with \0 within a string, end item-list with \0\0. e.g. "One\0Two\0Three\0".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L522.
// DEBUG: bool Combo(const char* label, int* current_item, const char* items_separated_by_zeros, int popup_max_height_in_items = -1) public static bool Combo(string label, ref int current_item, string items_separated_by_zeros, int popup_max_height_in_items = (int)(-1)) { @@ -20710,7 +22552,7 @@ public static bool Combo(string label, ref int current_item, string items_separa } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L514. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L523. // DEBUG: bool Combo(const char* label, int* current_item, bool(*items_getter)(void* data, int idx, const char** out_text), void* data, int items_count, int popup_max_height_in_items = -1) public static bool Combo(string label, ref int current_item, ImItemsGetterHandler items_getter, IntPtr data, int items_count, int popup_max_height_in_items = (int)(-1)) { @@ -20723,7 +22565,7 @@ public static bool Combo(string label, ref int current_item, ImItemsGetterHandle } } - /// If v_min >= v_max we have no bound.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L528.
+ /// If v_min >= v_max we have no bound.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L537.
// DEBUG: bool DragFloat(const char* label, float* v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool DragFloat(string label, ref float v, float v_speed = 1.0F, float v_min = 0.0F, float v_max = 0.0F, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20735,7 +22577,7 @@ public static bool DragFloat(string label, ref float v, float v_speed = 1.0F, fl } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L529. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L538. // DEBUG: bool DragFloat2(const char* label, float v[2], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool DragFloat2(string label, Span v, float v_speed = 1.0F, float v_min = 0.0F, float v_max = 0.0F, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20749,7 +22591,7 @@ public static bool DragFloat2(string label, Span v, float v_speed = 1.0F, } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L530. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L539. // DEBUG: bool DragFloat3(const char* label, float v[3], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool DragFloat3(string label, Span v, float v_speed = 1.0F, float v_min = 0.0F, float v_max = 0.0F, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20763,7 +22605,7 @@ public static bool DragFloat3(string label, Span v, float v_speed = 1.0F, } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L531. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L540. // DEBUG: bool DragFloat4(const char* label, float v[4], float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool DragFloat4(string label, Span v, float v_speed = 1.0F, float v_min = 0.0F, float v_max = 0.0F, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20777,7 +22619,7 @@ public static bool DragFloat4(string label, Span v, float v_speed = 1.0F, } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L532. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L541. // DEBUG: bool DragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* format = "%.3f", const char* format_max = NULL, ImGuiSliderFlags flags = 0) public static bool DragFloatRange2(string label, ref float v_current_min, ref float v_current_max, float v_speed = 1.0F, float v_min = 0.0F, float v_max = 0.0F, string format = "%.3f", string format_max = default, ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20793,7 +22635,7 @@ public static bool DragFloatRange2(string label, ref float v_current_min, ref fl } } - /// If v_min >= v_max we have no bound.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L533.
+ /// If v_min >= v_max we have no bound.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L542.
// DEBUG: bool DragInt(const char* label, int* v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool DragInt(string label, ref int v, float v_speed = 1.0F, int v_min = (int)(0), int v_max = (int)(0), string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20805,7 +22647,7 @@ public static bool DragInt(string label, ref int v, float v_speed = 1.0F, int v_ } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L534. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L543. // DEBUG: bool DragInt2(const char* label, int v[2], float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool DragInt2(string label, Span v, float v_speed = 1.0F, int v_min = (int)(0), int v_max = (int)(0), string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20819,7 +22661,7 @@ public static bool DragInt2(string label, Span v, float v_speed = 1.0F, int } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L535. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L544. // DEBUG: bool DragInt3(const char* label, int v[3], float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool DragInt3(string label, Span v, float v_speed = 1.0F, int v_min = (int)(0), int v_max = (int)(0), string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20833,7 +22675,7 @@ public static bool DragInt3(string label, Span v, float v_speed = 1.0F, int } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L536. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L545. // DEBUG: bool DragInt4(const char* label, int v[4], float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool DragInt4(string label, Span v, float v_speed = 1.0F, int v_min = (int)(0), int v_max = (int)(0), string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20847,7 +22689,7 @@ public static bool DragInt4(string label, Span v, float v_speed = 1.0F, int } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L537. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L546. // DEBUG: bool DragIntRange2(const char* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* format = "%d", const char* format_max = NULL, ImGuiSliderFlags flags = 0) public static bool DragIntRange2(string label, ref int v_current_min, ref int v_current_max, float v_speed = 1.0F, int v_min = (int)(0), int v_max = (int)(0), string format = "%d", string format_max = default, ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20863,7 +22705,7 @@ public static bool DragIntRange2(string label, ref int v_current_min, ref int v_ } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L538. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L547. // DEBUG: bool DragScalar(const char* label, ImGuiDataType data_type, void* p_data, float v_speed = 1.0f, const void* p_min = NULL, const void* p_max = NULL, const char* format = NULL, ImGuiSliderFlags flags = 0) public static bool DragScalar(string label, ImGuiDataType data_type, IntPtr p_data, float v_speed = 1.0F, IntPtr p_min = default, IntPtr p_max = default, string format = default, ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20871,7 +22713,7 @@ public static bool DragScalar(string label, ImGuiDataType data_type, IntPtr p_da return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L539. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L548. // DEBUG: bool DragScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, float v_speed = 1.0f, const void* p_min = NULL, const void* p_max = NULL, const char* format = NULL, ImGuiSliderFlags flags = 0) public static bool DragScalarN(string label, ImGuiDataType data_type, IntPtr p_data, int components, float v_speed = 1.0F, IntPtr p_min = default, IntPtr p_max = default, string format = default, ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20879,7 +22721,7 @@ public static bool DragScalarN(string label, ImGuiDataType data_type, IntPtr p_d return ___ret; } - /// Adjust format to decorate the value with a prefix or a suffix for in-slider labels or unit display.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L547.
+ /// Adjust format to decorate the value with a prefix or a suffix for in-slider labels or unit display.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L556.
// DEBUG: bool SliderFloat(const char* label, float* v, float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool SliderFloat(string label, ref float v, float v_min, float v_max, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20891,7 +22733,7 @@ public static bool SliderFloat(string label, ref float v, float v_min, float v_m } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L548. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L557. // DEBUG: bool SliderFloat2(const char* label, float v[2], float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool SliderFloat2(string label, Span v, float v_min, float v_max, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20905,7 +22747,7 @@ public static bool SliderFloat2(string label, Span v, float v_min, float } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L549. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L558. // DEBUG: bool SliderFloat3(const char* label, float v[3], float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool SliderFloat3(string label, Span v, float v_min, float v_max, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20919,7 +22761,7 @@ public static bool SliderFloat3(string label, Span v, float v_min, float } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L550. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L559. // DEBUG: bool SliderFloat4(const char* label, float v[4], float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool SliderFloat4(string label, Span v, float v_min, float v_max, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20933,7 +22775,7 @@ public static bool SliderFloat4(string label, Span v, float v_min, float } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L551. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L560. // DEBUG: bool SliderAngle(const char* label, float* v_rad, float v_degrees_min = -360.0f, float v_degrees_max = +360.0f, const char* format = "%.0f deg", ImGuiSliderFlags flags = 0) public static bool SliderAngle(string label, ref float v_rad, float v_degrees_min = -360.0F, float v_degrees_max = +360.0F, string format = "%.0f deg", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20945,7 +22787,7 @@ public static bool SliderAngle(string label, ref float v_rad, float v_degrees_mi } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L552. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L561. // DEBUG: bool SliderInt(const char* label, int* v, int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool SliderInt(string label, ref int v, int v_min, int v_max, string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20957,7 +22799,7 @@ public static bool SliderInt(string label, ref int v, int v_min, int v_max, stri } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L553. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L562. // DEBUG: bool SliderInt2(const char* label, int v[2], int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool SliderInt2(string label, Span v, int v_min, int v_max, string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20971,7 +22813,7 @@ public static bool SliderInt2(string label, Span v, int v_min, int v_max, s } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L554. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L563. // DEBUG: bool SliderInt3(const char* label, int v[3], int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool SliderInt3(string label, Span v, int v_min, int v_max, string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20985,7 +22827,7 @@ public static bool SliderInt3(string label, Span v, int v_min, int v_max, s } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L555. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L564. // DEBUG: bool SliderInt4(const char* label, int v[4], int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool SliderInt4(string label, Span v, int v_min, int v_max, string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -20999,7 +22841,7 @@ public static bool SliderInt4(string label, Span v, int v_min, int v_max, s } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L556. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L565. // DEBUG: bool SliderScalar(const char* label, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format = NULL, ImGuiSliderFlags flags = 0) public static bool SliderScalar(string label, ImGuiDataType data_type, IntPtr p_data, IntPtr p_min, IntPtr p_max, string format = default, ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -21007,7 +22849,7 @@ public static bool SliderScalar(string label, ImGuiDataType data_type, IntPtr p_ return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L557. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L566. // DEBUG: bool SliderScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, const void* p_min, const void* p_max, const char* format = NULL, ImGuiSliderFlags flags = 0) public static bool SliderScalarN(string label, ImGuiDataType data_type, IntPtr p_data, int components, IntPtr p_min, IntPtr p_max, string format = default, ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -21015,7 +22857,7 @@ public static bool SliderScalarN(string label, ImGuiDataType data_type, IntPtr p return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L558. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L567. // DEBUG: bool VSliderFloat(const char* label, const ImVec2& size, float* v, float v_min, float v_max, const char* format = "%.3f", ImGuiSliderFlags flags = 0) public static bool VSliderFloat(string label, Vector2 size, ref float v, float v_min, float v_max, string format = "%.3f", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -21031,7 +22873,7 @@ public static bool VSliderFloat(string label, Vector2 size, ref float v, float v } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L559. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L568. // DEBUG: bool VSliderInt(const char* label, const ImVec2& size, int* v, int v_min, int v_max, const char* format = "%d", ImGuiSliderFlags flags = 0) public static bool VSliderInt(string label, Vector2 size, ref int v, int v_min, int v_max, string format = "%d", ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -21047,7 +22889,7 @@ public static bool VSliderInt(string label, Vector2 size, ref int v, int v_min, } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L560. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L569. // DEBUG: bool VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const char* format = NULL, ImGuiSliderFlags flags = 0) public static bool VSliderScalar(string label, Vector2 size, ImGuiDataType data_type, IntPtr p_data, IntPtr p_min, IntPtr p_max, string format = default, ImGuiSliderFlags flags = (ImGuiSliderFlags)(0)) { @@ -21059,7 +22901,7 @@ public static bool VSliderScalar(string label, Vector2 size, ImGuiDataType data_ return ___ret; } - /// Widgets: Input with Keyboard.
- If you want to use InputText() with std::string or any custom dynamic string type, see misc/cpp/imgui_stdlib.h and comments in imgui_demo.cpp.
- Most of the ImGuiInputTextFlags flags are only useful for InputText() and not for InputFloatX, InputIntX, InputDouble etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L565.
+ /// Widgets: Input with Keyboard.
- If you want to use InputText() with std::string or any custom dynamic string type, see misc/cpp/imgui_stdlib.h and comments in imgui_demo.cpp.
- Most of the ImGuiInputTextFlags flags are only useful for InputText() and not for InputFloatX, InputIntX, InputDouble etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L574.
// DEBUG: bool InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL) public static bool InputText(string label, char* buf, UIntPtr buf_size, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0), ImGuiInputTextCallback callback = null, IntPtr user_data = default) { @@ -21072,7 +22914,7 @@ public static bool InputText(string label, char* buf, UIntPtr buf_size, ImGuiInp return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L566. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L575. // DEBUG: bool InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0, 0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL) public static bool InputTextMultiline(string label, char* buf, UIntPtr buf_size, Vector2 size, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0), ImGuiInputTextCallback callback = null, IntPtr user_data = default) { @@ -21089,7 +22931,7 @@ public static bool InputTextMultiline(string label, char* buf, UIntPtr buf_size, return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L567. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L576. // DEBUG: bool InputTextWithHint(const char* label, const char* hint, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL) public static bool InputTextWithHint(string label, string hint, char* buf, UIntPtr buf_size, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0), ImGuiInputTextCallback callback = null, IntPtr user_data = default) { @@ -21102,7 +22944,7 @@ public static bool InputTextWithHint(string label, string hint, char* buf, UIntP return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L568. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L577. // DEBUG: bool InputFloat(const char* label, float* v, float step = 0.0f, float step_fast = 0.0f, const char* format = "%.3f", ImGuiInputTextFlags flags = 0) public static bool InputFloat(string label, ref float v, float step = 0.0F, float step_fast = 0.0F, string format = "%.3f", ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21114,7 +22956,7 @@ public static bool InputFloat(string label, ref float v, float step = 0.0F, floa } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L569. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L578. // DEBUG: bool InputFloat2(const char* label, float v[2], const char* format = "%.3f", ImGuiInputTextFlags flags = 0) public static bool InputFloat2(string label, Span v, string format = "%.3f", ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21128,7 +22970,7 @@ public static bool InputFloat2(string label, Span v, string format = "%.3 } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L570. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L579. // DEBUG: bool InputFloat3(const char* label, float v[3], const char* format = "%.3f", ImGuiInputTextFlags flags = 0) public static bool InputFloat3(string label, Span v, string format = "%.3f", ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21142,7 +22984,7 @@ public static bool InputFloat3(string label, Span v, string format = "%.3 } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L571. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L580. // DEBUG: bool InputFloat4(const char* label, float v[4], const char* format = "%.3f", ImGuiInputTextFlags flags = 0) public static bool InputFloat4(string label, Span v, string format = "%.3f", ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21156,7 +22998,7 @@ public static bool InputFloat4(string label, Span v, string format = "%.3 } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L572. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L581. // DEBUG: bool InputInt(const char* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags flags = 0) public static bool InputInt(string label, ref int v, int step = (int)(1), int step_fast = (int)(100), ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21168,7 +23010,7 @@ public static bool InputInt(string label, ref int v, int step = (int)(1), int st } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L573. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L582. // DEBUG: bool InputInt2(const char* label, int v[2], ImGuiInputTextFlags flags = 0) public static bool InputInt2(string label, Span v, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21182,7 +23024,7 @@ public static bool InputInt2(string label, Span v, ImGuiInputTextFlags flag } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L574. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L583. // DEBUG: bool InputInt3(const char* label, int v[3], ImGuiInputTextFlags flags = 0) public static bool InputInt3(string label, Span v, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21196,7 +23038,7 @@ public static bool InputInt3(string label, Span v, ImGuiInputTextFlags flag } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L575. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L584. // DEBUG: bool InputInt4(const char* label, int v[4], ImGuiInputTextFlags flags = 0) public static bool InputInt4(string label, Span v, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21210,7 +23052,7 @@ public static bool InputInt4(string label, Span v, ImGuiInputTextFlags flag } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L576. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L585. // DEBUG: bool InputDouble(const char* label, double* v, double step = 0.0, double step_fast = 0.0, const char* format = "%.6f", ImGuiInputTextFlags flags = 0) public static bool InputDouble(string label, ref double v, double step = 0.0, double step_fast = 0.0, string format = "%.6f", ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21222,7 +23064,7 @@ public static bool InputDouble(string label, ref double v, double step = 0.0, do } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L577. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L586. // DEBUG: bool InputScalar(const char* label, ImGuiDataType data_type, void* p_data, const void* p_step = NULL, const void* p_step_fast = NULL, const char* format = NULL, ImGuiInputTextFlags flags = 0) public static bool InputScalar(string label, ImGuiDataType data_type, IntPtr p_data, IntPtr p_step = default, IntPtr p_step_fast = default, string format = default, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21230,7 +23072,7 @@ public static bool InputScalar(string label, ImGuiDataType data_type, IntPtr p_d return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L578. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L587. // DEBUG: bool InputScalarN(const char* label, ImGuiDataType data_type, void* p_data, int components, const void* p_step = NULL, const void* p_step_fast = NULL, const char* format = NULL, ImGuiInputTextFlags flags = 0) public static bool InputScalarN(string label, ImGuiDataType data_type, IntPtr p_data, int components, IntPtr p_step = default, IntPtr p_step_fast = default, string format = default, ImGuiInputTextFlags flags = (ImGuiInputTextFlags)(0)) { @@ -21238,7 +23080,7 @@ public static bool InputScalarN(string label, ImGuiDataType data_type, IntPtr p_ return ___ret; } - /// Widgets: Color Editor/Picker (tip: the ColorEdit* functions have a little color square that can be left-clicked to open a picker, and right-clicked to open an option menu.).
- Note that in C++ a 'float v[X]' function argument is the _same_ as 'float* v', the array syntax is just a way to document the number of elements that are expected to be accessible.
- You can pass the address of a first float element out of a contiguous structure, e.g. &myvector.x.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L583.
+ /// Widgets: Color Editor/Picker (tip: the ColorEdit* functions have a little color square that can be left-clicked to open a picker, and right-clicked to open an option menu.).
- Note that in C++ a 'float v[X]' function argument is the _same_ as 'float* v', the array syntax is just a way to document the number of elements that are expected to be accessible.
- You can pass the address of a first float element out of a contiguous structure, e.g. &myvector.x.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L592.
// DEBUG: bool ColorEdit3(const char* label, float col[3], ImGuiColorEditFlags flags = 0) public static bool ColorEdit3(string label, Span col, ImGuiColorEditFlags flags = (ImGuiColorEditFlags)(0)) { @@ -21252,7 +23094,7 @@ public static bool ColorEdit3(string label, Span col, ImGuiColorEditFlags } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L584. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L593. // DEBUG: bool ColorEdit4(const char* label, float col[4], ImGuiColorEditFlags flags = 0) public static bool ColorEdit4(string label, Span col, ImGuiColorEditFlags flags = (ImGuiColorEditFlags)(0)) { @@ -21266,7 +23108,7 @@ public static bool ColorEdit4(string label, Span col, ImGuiColorEditFlags } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L585. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L594. // DEBUG: bool ColorPicker3(const char* label, float col[3], ImGuiColorEditFlags flags = 0) public static bool ColorPicker3(string label, Span col, ImGuiColorEditFlags flags = (ImGuiColorEditFlags)(0)) { @@ -21280,7 +23122,7 @@ public static bool ColorPicker3(string label, Span col, ImGuiColorEditFla } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L586. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L595. // DEBUG: bool ColorPicker4(const char* label, float col[4], ImGuiColorEditFlags flags = 0, const float* ref_col = NULL) public static bool ColorPicker4(string label, Span col, ImGuiColorEditFlags flags, ref float ref_col) { @@ -21298,7 +23140,7 @@ public static bool ColorPicker4(string label, Span col, ImGuiColorEditFla } } - /// Display a color square/button, hover for details, return true when pressed.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L587.
+ /// Display a color square/button, hover for details, return true when pressed.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L596.
// DEBUG: bool ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFlags flags = 0, const ImVec2& size = ImVec2(0, 0)) public static bool ColorButton(string desc_id, Vector4 col, ImGuiColorEditFlags flags, Vector2 size) { @@ -21314,7 +23156,7 @@ public static bool ColorButton(string desc_id, Vector4 col, ImGuiColorEditFlags return ___ret; } - /// Initialize current options (generally on application startup) if you want to select a default format, picker type, etc. User will be able to change many settings, unless you pass the _NoOptions flag to your calls.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L588.
+ /// Initialize current options (generally on application startup) if you want to select a default format, picker type, etc. User will be able to change many settings, unless you pass the _NoOptions flag to your calls.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L597.
// DEBUG: void SetColorEditOptions(ImGuiColorEditFlags flags) public static void SetColorEditOptions(ImGuiColorEditFlags flags) { @@ -21328,7 +23170,7 @@ public static void SetColorEditOptions(ImGuiColorEditFlags flags) } } - /// Widgets: Trees.
- TreeNode functions return true when the node is open, in which case you need to also call TreePop() when you are finished displaying the tree node contents.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L592.
+ /// Widgets: Trees.
- TreeNode functions return true when the node is open, in which case you need to also call TreePop() when you are finished displaying the tree node contents.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L601.
// DEBUG: bool TreeNode(const char* label) public static bool TreeNode(string label) { @@ -21336,7 +23178,7 @@ public static bool TreeNode(string label) return ___ret; } - /// Helper variation to easily decorelate the id from the displayed string. Read the FAQ about why and how to use ID. to align arbitrary text at the same level as a TreeNode() you can use Bullet().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L593.
+ /// Helper variation to easily decorelate the id from the displayed string. Read the FAQ about why and how to use ID. to align arbitrary text at the same level as a TreeNode() you can use Bullet().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L602.
// DEBUG: bool TreeNode(const char* str_id, const char* fmt, ...) IM_FMTARGS(2) public static bool TreeNode(string str_id, string fmt) { @@ -21344,7 +23186,7 @@ public static bool TreeNode(string str_id, string fmt) return ___ret; } - /// ".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L594.
+ /// ".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L603.
// DEBUG: bool TreeNode(const void* ptr_id, const char* fmt, ...) IM_FMTARGS(2) public static bool TreeNode(IntPtr ptr_id, string fmt) { @@ -21352,7 +23194,7 @@ public static bool TreeNode(IntPtr ptr_id, string fmt) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L595. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L604. // DEBUG: bool TreeNodeV(const char* str_id, const char* fmt, va_list args) IM_FMTLIST(2) public static bool TreeNodeV(string str_id, string fmt, Object args) { @@ -21360,7 +23202,7 @@ public static bool TreeNodeV(string str_id, string fmt, Object args) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L596. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L605. // DEBUG: bool TreeNodeV(const void* ptr_id, const char* fmt, va_list args) IM_FMTLIST(2) public static bool TreeNodeV(IntPtr ptr_id, string fmt, Object args) { @@ -21368,7 +23210,7 @@ public static bool TreeNodeV(IntPtr ptr_id, string fmt, Object args) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L597. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L606. // DEBUG: bool TreeNodeEx(const char* label, ImGuiTreeNodeFlags flags = 0) public static bool TreeNodeEx(string label, ImGuiTreeNodeFlags flags = (ImGuiTreeNodeFlags)(0)) { @@ -21376,7 +23218,7 @@ public static bool TreeNodeEx(string label, ImGuiTreeNodeFlags flags = (ImGuiTre return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L598. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L607. // DEBUG: bool TreeNodeEx(const char* str_id, ImGuiTreeNodeFlags flags, const char* fmt, ...) IM_FMTARGS(3) public static bool TreeNodeEx(string str_id, ImGuiTreeNodeFlags flags, string fmt) { @@ -21384,7 +23226,7 @@ public static bool TreeNodeEx(string str_id, ImGuiTreeNodeFlags flags, string fm return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L599. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L608. // DEBUG: bool TreeNodeEx(const void* ptr_id, ImGuiTreeNodeFlags flags, const char* fmt, ...) IM_FMTARGS(3) public static bool TreeNodeEx(IntPtr ptr_id, ImGuiTreeNodeFlags flags, string fmt) { @@ -21392,7 +23234,7 @@ public static bool TreeNodeEx(IntPtr ptr_id, ImGuiTreeNodeFlags flags, string fm return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L600. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L609. // DEBUG: bool TreeNodeExV(const char* str_id, ImGuiTreeNodeFlags flags, const char* fmt, va_list args) IM_FMTLIST(3) public static bool TreeNodeExV(string str_id, ImGuiTreeNodeFlags flags, string fmt, Object args) { @@ -21400,7 +23242,7 @@ public static bool TreeNodeExV(string str_id, ImGuiTreeNodeFlags flags, string f return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L601. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L610. // DEBUG: bool TreeNodeExV(const void* ptr_id, ImGuiTreeNodeFlags flags, const char* fmt, va_list args) IM_FMTLIST(3) public static bool TreeNodeExV(IntPtr ptr_id, ImGuiTreeNodeFlags flags, string fmt, Object args) { @@ -21408,7 +23250,7 @@ public static bool TreeNodeExV(IntPtr ptr_id, ImGuiTreeNodeFlags flags, string f return ___ret; } - /// ~ Indent()+PushId(). Already called by TreeNode() when returning true, but you can call TreePush/TreePop yourself if desired.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L602.
+ /// ~ Indent()+PushId(). Already called by TreeNode() when returning true, but you can call TreePush/TreePop yourself if desired.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L611.
// DEBUG: void TreePush(const char* str_id) public static void TreePush(string str_id) { @@ -21422,7 +23264,7 @@ public static void TreePush(string str_id) } } - /// ".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L603.
+ /// ".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L612.
// DEBUG: void TreePush(const void* ptr_id = NULL) public static void TreePush(IntPtr ptr_id = default) { @@ -21436,7 +23278,7 @@ public static void TreePush(IntPtr ptr_id = default) } } - /// ~ Unindent()+PopId().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L604.
+ /// ~ Unindent()+PopId().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L613.
// DEBUG: void TreePop() public static void TreePop() { @@ -21450,7 +23292,7 @@ public static void TreePop() } } - /// Horizontal distance preceding label when using TreeNode*() or Bullet() == (g.FontSize + style.FramePadding.x*2) for a regular unframed TreeNode.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L605.
+ /// Horizontal distance preceding label when using TreeNode*() or Bullet() == (g.FontSize + style.FramePadding.x*2) for a regular unframed TreeNode.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L614.
// DEBUG: float GetTreeNodeToLabelSpacing() public static float GetTreeNodeToLabelSpacing() { @@ -21458,7 +23300,7 @@ public static float GetTreeNodeToLabelSpacing() return ___ret; } - /// If returning 'true' the header is open. doesn't indent nor push on ID stack. user doesn't have to call TreePop().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L606.
+ /// If returning 'true' the header is open. doesn't indent nor push on ID stack. user doesn't have to call TreePop().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L615.
// DEBUG: bool CollapsingHeader(const char* label, ImGuiTreeNodeFlags flags = 0) public static bool CollapsingHeader(string label, ImGuiTreeNodeFlags flags = (ImGuiTreeNodeFlags)(0)) { @@ -21466,7 +23308,7 @@ public static bool CollapsingHeader(string label, ImGuiTreeNodeFlags flags = (Im return ___ret; } - /// When 'p_visible != NULL': if '*p_visible==true' display an additional small close button on upper right of the header which will set the bool to false when clicked, if '*p_visible==false' don't display the header.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L607.
+ /// When 'p_visible != NULL': if '*p_visible==true' display an additional small close button on upper right of the header which will set the bool to false when clicked, if '*p_visible==false' don't display the header.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L616.
// DEBUG: bool CollapsingHeader(const char* label, bool* p_visible, ImGuiTreeNodeFlags flags = 0) public static bool CollapsingHeader(string label, ref bool p_visible, ImGuiTreeNodeFlags flags = (ImGuiTreeNodeFlags)(0)) { @@ -21478,7 +23320,7 @@ public static bool CollapsingHeader(string label, ref bool p_visible, ImGuiTreeN } } - /// Set next TreeNode/CollapsingHeader open state.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L608.
+ /// Set next TreeNode/CollapsingHeader open state.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L617.
// DEBUG: void SetNextItemOpen(bool is_open, ImGuiCond cond = 0) public static void SetNextItemOpen(bool is_open, ImGuiCond cond = (ImGuiCond)(0)) { @@ -21492,7 +23334,7 @@ public static void SetNextItemOpen(bool is_open, ImGuiCond cond = (ImGuiCond)(0) } } - /// "bool selected" carry the selection state (read-only). Selectable() is clicked is returns true so you can modify your selection state. size.x==0.0: use remaining width, size.x>0.0: specify width. size.y==0.0: use label height, size.y>0.0: specify height.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L613.
+ /// "bool selected" carry the selection state (read-only). Selectable() is clicked is returns true so you can modify your selection state. size.x==0.0: use remaining width, size.x>0.0: specify width. size.y==0.0: use label height, size.y>0.0: specify height.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L622.
// DEBUG: bool Selectable(const char* label, bool selected = false, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0)) public static bool Selectable(string label, bool selected, ImGuiSelectableFlags flags, Vector2 size) { @@ -21504,7 +23346,7 @@ public static bool Selectable(string label, bool selected, ImGuiSelectableFlags return ___ret; } - /// "bool* p_selected" point to the selection state (read-write), as a convenient helper.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L614.
+ /// "bool* p_selected" point to the selection state (read-write), as a convenient helper.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L623.
// DEBUG: bool Selectable(const char* label, bool* p_selected, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0)) public static bool Selectable(string label, ref bool p_selected, ImGuiSelectableFlags flags, Vector2 size) { @@ -21520,7 +23362,7 @@ public static bool Selectable(string label, ref bool p_selected, ImGuiSelectable } } - /// Open a framed scrolling region.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L622.
+ /// Open a framed scrolling region.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L631.
// DEBUG: bool BeginListBox(const char* label, const ImVec2& size = ImVec2(0, 0)) public static bool BeginListBox(string label, Vector2 size) { @@ -21532,7 +23374,7 @@ public static bool BeginListBox(string label, Vector2 size) return ___ret; } - /// Only call EndListBox() if BeginListBox() returned true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L623.
+ /// Only call EndListBox() if BeginListBox() returned true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L632.
// DEBUG: void EndListBox() public static void EndListBox() { @@ -21546,7 +23388,7 @@ public static void EndListBox() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L624. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L633. // DEBUG: bool ListBox(const char* label, int* current_item, const char* const items[], int items_count, int height_in_items = -1) public static bool ListBox(string label, ref int current_item, string[] items, int items_count, int height_in_items = (int)(-1)) { @@ -21558,7 +23400,7 @@ public static bool ListBox(string label, ref int current_item, string[] items, i } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L625. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L634. // DEBUG: bool ListBox(const char* label, int* current_item, bool (*items_getter)(void* data, int idx, const char** out_text), void* data, int items_count, int height_in_items = -1) public static bool ListBox(string label, ref int current_item, ImItemsGetterHandler items_getter, IntPtr data, int items_count, int height_in_items = (int)(-1)) { @@ -21571,7 +23413,7 @@ public static bool ListBox(string label, ref int current_item, ImItemsGetterHand } } - /// Widgets: Data Plotting.
- Consider using ImPlot (https://github.com/epezent/implot) which is much better!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L629.
+ /// Widgets: Data Plotting.
- Consider using ImPlot (https://github.com/epezent/implot) which is much better!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L638.
// DEBUG: void PlotLines(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float)) public static void PlotLines(string label, ref float values, int values_count, int values_offset, string overlay_text, float scale_min, float scale_max, Vector2 graph_size, int stride = sizeof(float)) { @@ -21593,7 +23435,7 @@ public static void PlotLines(string label, ref float values, int values_count, i } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L630. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L639. // DEBUG: void PlotLines(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0)) public static void PlotLines(string label, ImValuesGetterHandler values_getter, IntPtr data, int values_count, int values_offset, string overlay_text, float scale_min, float scale_max, Vector2 graph_size) { @@ -21612,7 +23454,7 @@ public static void PlotLines(string label, ImValuesGetterHandler values_getter, } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L631. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L640. // DEBUG: void PlotHistogram(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float)) public static void PlotHistogram(string label, ref float values, int values_count, int values_offset, string overlay_text, float scale_min, float scale_max, Vector2 graph_size, int stride = sizeof(float)) { @@ -21634,7 +23476,7 @@ public static void PlotHistogram(string label, ref float values, int values_coun } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L632. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L641. // DEBUG: void PlotHistogram(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0)) public static void PlotHistogram(string label, ImValuesGetterHandler values_getter, IntPtr data, int values_count, int values_offset, string overlay_text, float scale_min, float scale_max, Vector2 graph_size) { @@ -21653,7 +23495,7 @@ public static void PlotHistogram(string label, ImValuesGetterHandler values_gett } } - /// Widgets: Value() Helpers.
- Those are merely shortcut to calling Text() with a format string. Output single value in "name: value" format (tip: freely declare more in your code to handle your types. you can add functions to the ImGui namespace).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L636.
+ /// Widgets: Value() Helpers.
- Those are merely shortcut to calling Text() with a format string. Output single value in "name: value" format (tip: freely declare more in your code to handle your types. you can add functions to the ImGui namespace).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L645.
// DEBUG: void Value(const char* prefix, bool b) public static void Value(string prefix, bool b) { @@ -21667,7 +23509,7 @@ public static void Value(string prefix, bool b) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L637. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L646. // DEBUG: void Value(const char* prefix, int v) public static void Value(string prefix, int v) { @@ -21681,7 +23523,7 @@ public static void Value(string prefix, int v) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L638. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L647. // DEBUG: void Value(const char* prefix, unsigned int v) public static void Value(string prefix, uint v) { @@ -21695,7 +23537,7 @@ public static void Value(string prefix, uint v) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L639. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L648. // DEBUG: void Value(const char* prefix, float v, const char* float_format = NULL) public static void Value(string prefix, float v, string float_format = default) { @@ -21709,7 +23551,7 @@ public static void Value(string prefix, float v, string float_format = default) } } - /// Append to menu-bar of current window (requires ImGuiWindowFlags_MenuBar flag set on parent window).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L646.
+ /// Append to menu-bar of current window (requires ImGuiWindowFlags_MenuBar flag set on parent window).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L655.
// DEBUG: bool BeginMenuBar() public static bool BeginMenuBar() { @@ -21717,7 +23559,7 @@ public static bool BeginMenuBar() return ___ret; } - /// Only call EndMenuBar() if BeginMenuBar() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L647.
+ /// Only call EndMenuBar() if BeginMenuBar() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L656.
// DEBUG: void EndMenuBar() public static void EndMenuBar() { @@ -21731,7 +23573,7 @@ public static void EndMenuBar() } } - /// Create and append to a full screen menu-bar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L648.
+ /// Create and append to a full screen menu-bar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L657.
// DEBUG: bool BeginMainMenuBar() public static bool BeginMainMenuBar() { @@ -21739,7 +23581,7 @@ public static bool BeginMainMenuBar() return ___ret; } - /// Only call EndMainMenuBar() if BeginMainMenuBar() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L649.
+ /// Only call EndMainMenuBar() if BeginMainMenuBar() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L658.
// DEBUG: void EndMainMenuBar() public static void EndMainMenuBar() { @@ -21753,7 +23595,7 @@ public static void EndMainMenuBar() } } - /// Create a sub-menu entry. only call EndMenu() if this returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L650.
+ /// Create a sub-menu entry. only call EndMenu() if this returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L659.
// DEBUG: bool BeginMenu(const char* label, bool enabled = true) public static bool BeginMenu(string label, bool enabled = true) { @@ -21761,7 +23603,7 @@ public static bool BeginMenu(string label, bool enabled = true) return ___ret; } - /// Only call EndMenu() if BeginMenu() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L651.
+ /// Only call EndMenu() if BeginMenu() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L660.
// DEBUG: void EndMenu() public static void EndMenu() { @@ -21775,7 +23617,7 @@ public static void EndMenu() } } - /// Return true when activated.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L652.
+ /// Return true when activated.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L661.
// DEBUG: bool MenuItem(const char* label, const char* shortcut = NULL, bool selected = false, bool enabled = true) public static bool MenuItem(string label, string shortcut = default, bool selected = false, bool enabled = true) { @@ -21783,7 +23625,7 @@ public static bool MenuItem(string label, string shortcut = default, bool select return ___ret; } - /// Return true when activated + toggle (*p_selected) if p_selected != NULL.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L653.
+ /// Return true when activated + toggle (*p_selected) if p_selected != NULL.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L662.
// DEBUG: bool MenuItem(const char* label, const char* shortcut, bool* p_selected, bool enabled = true) public static bool MenuItem(string label, string shortcut, ref bool p_selected, bool enabled = true) { @@ -21795,7 +23637,7 @@ public static bool MenuItem(string label, string shortcut, ref bool p_selected, } } - /// Begin/append a tooltip window. to create full-featured tooltip (with any kind of items).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L657.
+ /// Begin/append a tooltip window. to create full-featured tooltip (with any kind of items).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L666.
// DEBUG: void BeginTooltip() public static void BeginTooltip() { @@ -21809,7 +23651,7 @@ public static void BeginTooltip() } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L658. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L667. // DEBUG: void EndTooltip() public static void EndTooltip() { @@ -21823,7 +23665,7 @@ public static void EndTooltip() } } - /// Set a text-only tooltip, typically use with ImGui::IsItemHovered(). override any previous call to SetTooltip().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L659.
+ /// Set a text-only tooltip, typically use with ImGui::IsItemHovered(). override any previous call to SetTooltip().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L668.
// DEBUG: void SetTooltip(const char* fmt, ...) IM_FMTARGS(1) public static void SetTooltip(string fmt) { @@ -21837,7 +23679,7 @@ public static void SetTooltip(string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L660. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L669. // DEBUG: void SetTooltipV(const char* fmt, va_list args) IM_FMTLIST(1) public static void SetTooltipV(string fmt, Object args) { @@ -21851,7 +23693,7 @@ public static void SetTooltipV(string fmt, Object args) } } - /// Return true if the popup is open, and you can start outputting to it.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L674.
+ /// Return true if the popup is open, and you can start outputting to it.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L683.
// DEBUG: bool BeginPopup(const char* str_id, ImGuiWindowFlags flags = 0) public static bool BeginPopup(string str_id, ImGuiWindowFlags flags = (ImGuiWindowFlags)(0)) { @@ -21859,7 +23701,7 @@ public static bool BeginPopup(string str_id, ImGuiWindowFlags flags = (ImGuiWind return ___ret; } - /// Return true if the modal is open, and you can start outputting to it.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L675.
+ /// Return true if the modal is open, and you can start outputting to it.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L684.
// DEBUG: bool BeginPopupModal(const char* name, bool* p_open = NULL, ImGuiWindowFlags flags = 0) public static bool BeginPopupModal(string name, ref bool p_open, ImGuiWindowFlags flags = (ImGuiWindowFlags)(0)) { @@ -21871,7 +23713,7 @@ public static bool BeginPopupModal(string name, ref bool p_open, ImGuiWindowFlag } } - /// Only call EndPopup() if BeginPopupXXX() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L676.
+ /// Only call EndPopup() if BeginPopupXXX() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L685.
// DEBUG: void EndPopup() public static void EndPopup() { @@ -21885,7 +23727,7 @@ public static void EndPopup() } } - /// Call to mark popup as open (don't call every frame!).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L686.
+ /// Call to mark popup as open (don't call every frame!).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L695.
// DEBUG: void OpenPopup(const char* str_id, ImGuiPopupFlags popup_flags = 0) public static void OpenPopup(string str_id, ImGuiPopupFlags popup_flags = (ImGuiPopupFlags)(0)) { @@ -21899,7 +23741,7 @@ public static void OpenPopup(string str_id, ImGuiPopupFlags popup_flags = (ImGui } } - /// Id overload to facilitate calling from nested stacks.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L687.
+ /// Id overload to facilitate calling from nested stacks.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L696.
// DEBUG: void OpenPopup(ImGuiID id, ImGuiPopupFlags popup_flags = 0) public static void OpenPopup(uint id, ImGuiPopupFlags popup_flags = (ImGuiPopupFlags)(0)) { @@ -21913,7 +23755,7 @@ public static void OpenPopup(uint id, ImGuiPopupFlags popup_flags = (ImGuiPopupF } } - /// Helper to open popup when clicked on last item. Default to ImGuiPopupFlags_MouseButtonRight == 1. (note: actually triggers on the mouse _released_ event to be consistent with popup behaviors).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L688.
+ /// Helper to open popup when clicked on last item. Default to ImGuiPopupFlags_MouseButtonRight == 1. (note: actually triggers on the mouse _released_ event to be consistent with popup behaviors).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L697.
// DEBUG: void OpenPopupOnItemClick(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 1) public static void OpenPopupOnItemClick(string str_id = default, ImGuiPopupFlags popup_flags = (ImGuiPopupFlags)(1)) { @@ -21927,7 +23769,7 @@ public static void OpenPopupOnItemClick(string str_id = default, ImGuiPopupFlags } } - /// Manually close the popup we have begin-ed into.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L689.
+ /// Manually close the popup we have begin-ed into.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L698.
// DEBUG: void CloseCurrentPopup() public static void CloseCurrentPopup() { @@ -21941,7 +23783,7 @@ public static void CloseCurrentPopup() } } - /// Open+begin popup when clicked on last item. Use str_id==NULL to associate the popup to previous item. If you want to use that on a non-interactive item such as Text() you need to pass in an explicit ID here. read comments in .cpp!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L696.
+ /// Open+begin popup when clicked on last item. Use str_id==NULL to associate the popup to previous item. If you want to use that on a non-interactive item such as Text() you need to pass in an explicit ID here. read comments in .cpp!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L705.
// DEBUG: bool BeginPopupContextItem(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 1) public static bool BeginPopupContextItem(string str_id = default, ImGuiPopupFlags popup_flags = (ImGuiPopupFlags)(1)) { @@ -21949,7 +23791,7 @@ public static bool BeginPopupContextItem(string str_id = default, ImGuiPopupFlag return ___ret; } - /// Open+begin popup when clicked on current window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L697.
+ /// Open+begin popup when clicked on current window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L706.
// DEBUG: bool BeginPopupContextWindow(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 1) public static bool BeginPopupContextWindow(string str_id = default, ImGuiPopupFlags popup_flags = (ImGuiPopupFlags)(1)) { @@ -21957,7 +23799,7 @@ public static bool BeginPopupContextWindow(string str_id = default, ImGuiPopupFl return ___ret; } - /// Open+begin popup when clicked in void (where there are no windows).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L698.
+ /// Open+begin popup when clicked in void (where there are no windows).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L707.
// DEBUG: bool BeginPopupContextVoid(const char* str_id = NULL, ImGuiPopupFlags popup_flags = 1) public static bool BeginPopupContextVoid(string str_id = default, ImGuiPopupFlags popup_flags = (ImGuiPopupFlags)(1)) { @@ -21965,7 +23807,7 @@ public static bool BeginPopupContextVoid(string str_id = default, ImGuiPopupFlag return ___ret; } - /// Return true if the popup is open.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L704.
+ /// Return true if the popup is open.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L713.
// DEBUG: bool IsPopupOpen(const char* str_id, ImGuiPopupFlags flags = 0) public static bool IsPopupOpen(string str_id, ImGuiPopupFlags flags = (ImGuiPopupFlags)(0)) { @@ -21973,7 +23815,7 @@ public static bool IsPopupOpen(string str_id, ImGuiPopupFlags flags = (ImGuiPopu return ___ret; } - /// Tables.
- Full-featured replacement for old Columns API.
- See Demo->Tables for demo code. See top of imgui_tables.cpp for general commentary.
- See ImGuiTableFlags_ and ImGuiTableColumnFlags_ enums for a description of available flags.
The typical call flow is:.
- 1. Call BeginTable(), early out if returning false.
- 2. Optionally call TableSetupColumn() to submit column name/flags/defaults.
- 3. Optionally call TableSetupScrollFreeze() to request scroll freezing of columns/rows.
- 4. Optionally call TableHeadersRow() to submit a header row. Names are pulled from TableSetupColumn() data.
- 5. Populate contents:.
- In most situations you can use TableNextRow() + TableSetColumnIndex(N) to start appending into a column.
- If you are using tables as a sort of grid, where every columns is holding the same type of contents,.
You may prefer using TableNextColumn() instead of TableNextRow() + TableSetColumnIndex().
TableNextColumn() will automatically wrap-around into the next row if needed.
- IMPORTANT: Comparatively to the old Columns() API, we need to call TableNextColumn() for the first column!
- Summary of possible call flow:.
--------------------------------------------------------------------------------------------------------.
TableNextRow() -> TableSetColumnIndex(0) -> Text("Hello 0") -> TableSetColumnIndex(1) -> Text("Hello 1"), // OK.
TableNextRow() -> TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK.
TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK: TableNextColumn() automatically gets to next row!
TableNextRow(), -> Text("Hello 0"), // Not OK! Missing TableSetColumnIndex() or TableNextColumn()! Text will not appear!
--------------------------------------------------------------------------------------------------------.
- 5. Call EndTable().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L729.
+ /// Tables.
- Full-featured replacement for old Columns API.
- See Demo->Tables for demo code. See top of imgui_tables.cpp for general commentary.
- See ImGuiTableFlags_ and ImGuiTableColumnFlags_ enums for a description of available flags.
The typical call flow is:.
- 1. Call BeginTable(), early out if returning false.
- 2. Optionally call TableSetupColumn() to submit column name/flags/defaults.
- 3. Optionally call TableSetupScrollFreeze() to request scroll freezing of columns/rows.
- 4. Optionally call TableHeadersRow() to submit a header row. Names are pulled from TableSetupColumn() data.
- 5. Populate contents:.
- In most situations you can use TableNextRow() + TableSetColumnIndex(N) to start appending into a column.
- If you are using tables as a sort of grid, where every columns is holding the same type of contents,.
You may prefer using TableNextColumn() instead of TableNextRow() + TableSetColumnIndex().
TableNextColumn() will automatically wrap-around into the next row if needed.
- IMPORTANT: Comparatively to the old Columns() API, we need to call TableNextColumn() for the first column!
- Summary of possible call flow:.
--------------------------------------------------------------------------------------------------------.
TableNextRow() -> TableSetColumnIndex(0) -> Text("Hello 0") -> TableSetColumnIndex(1) -> Text("Hello 1"), // OK.
TableNextRow() -> TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK.
TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK: TableNextColumn() automatically gets to next row!
TableNextRow(), -> Text("Hello 0"), // Not OK! Missing TableSetColumnIndex() or TableNextColumn()! Text will not appear!
--------------------------------------------------------------------------------------------------------.
- 5. Call EndTable().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L738.
// DEBUG: bool BeginTable(const char* str_id, int column, ImGuiTableFlags flags = 0, const ImVec2& outer_size = ImVec2(0.0f, 0.0f), float inner_width = 0.0f) public static bool BeginTable(string str_id, int column, ImGuiTableFlags flags, Vector2 outer_size, float inner_width = 0.0F) { @@ -21985,7 +23827,7 @@ public static bool BeginTable(string str_id, int column, ImGuiTableFlags flags, return ___ret; } - /// Only call EndTable() if BeginTable() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L730.
+ /// Only call EndTable() if BeginTable() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L739.
// DEBUG: void EndTable() public static void EndTable() { @@ -21999,7 +23841,7 @@ public static void EndTable() } } - /// Append into the first cell of a new row.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L731.
+ /// Append into the first cell of a new row.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L740.
// DEBUG: void TableNextRow(ImGuiTableRowFlags row_flags = 0, float min_row_height = 0.0f) public static void TableNextRow(ImGuiTableRowFlags row_flags = (ImGuiTableRowFlags)(0), float min_row_height = 0.0F) { @@ -22013,7 +23855,7 @@ public static void TableNextRow(ImGuiTableRowFlags row_flags = (ImGuiTableRowFla } } - /// Append into the next column (or first column of next row if currently in last column). Return true when column is visible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L732.
+ /// Append into the next column (or first column of next row if currently in last column). Return true when column is visible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L741.
// DEBUG: bool TableNextColumn() public static bool TableNextColumn() { @@ -22021,7 +23863,7 @@ public static bool TableNextColumn() return ___ret; } - /// Append into the specified column. Return true when column is visible.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L733.
+ /// Append into the specified column. Return true when column is visible.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L742.
// DEBUG: bool TableSetColumnIndex(int column_n) public static bool TableSetColumnIndex(int column_n) { @@ -22029,7 +23871,7 @@ public static bool TableSetColumnIndex(int column_n) return ___ret; } - /// Tables: Headers & Columns declaration.
- Use TableSetupColumn() to specify label, resizing policy, default width/weight, id, various other flags etc.
- Use TableHeadersRow() to create a header row and automatically submit a TableHeader() for each column.
Headers are required to perform: reordering, sorting, and opening the context menu.
The context menu can also be made available in columns body using ImGuiTableFlags_ContextMenuInBody.
- You may manually submit headers using TableNextRow() + TableHeader() calls, but this is only useful in.
Some advanced use cases (e.g. adding custom widgets in header row).
- Use TableSetupScrollFreeze() to lock columns/rows so they stay visible when scrolled.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L743.
+ /// Tables: Headers & Columns declaration.
- Use TableSetupColumn() to specify label, resizing policy, default width/weight, id, various other flags etc.
- Use TableHeadersRow() to create a header row and automatically submit a TableHeader() for each column.
Headers are required to perform: reordering, sorting, and opening the context menu.
The context menu can also be made available in columns body using ImGuiTableFlags_ContextMenuInBody.
- You may manually submit headers using TableNextRow() + TableHeader() calls, but this is only useful in.
Some advanced use cases (e.g. adding custom widgets in header row).
- Use TableSetupScrollFreeze() to lock columns/rows so they stay visible when scrolled.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L752.
// DEBUG: void TableSetupColumn(const char* label, ImGuiTableColumnFlags flags = 0, float init_width_or_weight = 0.0f, ImGuiID user_id = 0) public static void TableSetupColumn(string label, ImGuiTableColumnFlags flags = (ImGuiTableColumnFlags)(0), float init_width_or_weight = 0.0F, uint user_id = (uint)(0)) { @@ -22043,7 +23885,7 @@ public static void TableSetupColumn(string label, ImGuiTableColumnFlags flags = } } - /// Lock columns/rows so they stay visible when scrolled.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L744.
+ /// Lock columns/rows so they stay visible when scrolled.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L753.
// DEBUG: void TableSetupScrollFreeze(int cols, int rows) public static void TableSetupScrollFreeze(int cols, int rows) { @@ -22057,7 +23899,7 @@ public static void TableSetupScrollFreeze(int cols, int rows) } } - /// Submit all headers cells based on data provided to TableSetupColumn() + submit context menu.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L745.
+ /// Submit all headers cells based on data provided to TableSetupColumn() + submit context menu.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L754.
// DEBUG: void TableHeadersRow() public static void TableHeadersRow() { @@ -22071,7 +23913,7 @@ public static void TableHeadersRow() } } - /// Submit one header cell manually (rarely used).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L746.
+ /// Submit one header cell manually (rarely used).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L755.
// DEBUG: void TableHeader(const char* label) public static void TableHeader(string label) { @@ -22085,7 +23927,7 @@ public static void TableHeader(string label) } } - /// Get latest sort specs for the table (NULL if not sorting).
Lifetime: don't hold on this pointer over multiple frames or past any subsequent call to BeginTable().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L754.
+ /// Get latest sort specs for the table (NULL if not sorting).
Lifetime: don't hold on this pointer over multiple frames or past any subsequent call to BeginTable().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L763.
// DEBUG: ImGuiTableSortSpecs* TableGetSortSpecs() public static ImGuiTableSortSpecs TableGetSortSpecs() { @@ -22094,7 +23936,7 @@ public static ImGuiTableSortSpecs TableGetSortSpecs() return __result0; } - /// Return number of columns (value passed to BeginTable).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L755.
+ /// Return number of columns (value passed to BeginTable).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L764.
// DEBUG: int TableGetColumnCount() public static int TableGetColumnCount() { @@ -22102,7 +23944,7 @@ public static int TableGetColumnCount() return ___ret; } - /// Return current column index.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L756.
+ /// Return current column index.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L765.
// DEBUG: int TableGetColumnIndex() public static int TableGetColumnIndex() { @@ -22110,7 +23952,7 @@ public static int TableGetColumnIndex() return ___ret; } - /// Return current row index.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L757.
+ /// Return current row index.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L766.
// DEBUG: int TableGetRowIndex() public static int TableGetRowIndex() { @@ -22118,7 +23960,7 @@ public static int TableGetRowIndex() return ___ret; } - /// Return "" if column didn't have a name declared by TableSetupColumn(). Pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L758.
+ /// Return "" if column didn't have a name declared by TableSetupColumn(). Pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L767.
// DEBUG: const char* TableGetColumnName(int column_n = -1) public static string TableGetColumnName(int column_n = (int)(-1)) { @@ -22126,7 +23968,7 @@ public static string TableGetColumnName(int column_n = (int)(-1)) return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); } - /// Return column flags so you can query their Enabled/Visible/Sorted/Hovered status flags. Pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L759.
+ /// Return column flags so you can query their Enabled/Visible/Sorted/Hovered status flags. Pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L768.
// DEBUG: ImGuiTableColumnFlags TableGetColumnFlags(int column_n = -1) public static ImGuiTableColumnFlags TableGetColumnFlags(int column_n = (int)(-1)) { @@ -22134,7 +23976,7 @@ public static ImGuiTableColumnFlags TableGetColumnFlags(int column_n = (int)(-1) return ___ret; } - /// Change user accessible enabled/disabled state of a column. Set to false to hide the column. User can use the context menu to change this themselves (right-click in headers, or right-click in columns body with ImGuiTableFlags_ContextMenuInBody).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L760.
+ /// Change user accessible enabled/disabled state of a column. Set to false to hide the column. User can use the context menu to change this themselves (right-click in headers, or right-click in columns body with ImGuiTableFlags_ContextMenuInBody).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L769.
// DEBUG: void TableSetColumnEnabled(int column_n, bool v) public static void TableSetColumnEnabled(int column_n, bool v) { @@ -22148,7 +23990,7 @@ public static void TableSetColumnEnabled(int column_n, bool v) } } - /// Change the color of a cell, row, or column. See ImGuiTableBgTarget_ flags for details.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L761.
+ /// Change the color of a cell, row, or column. See ImGuiTableBgTarget_ flags for details.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L770.
// DEBUG: void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n = -1) public static void TableSetBgColor(ImGuiTableBgTarget target, uint color, int column_n = (int)(-1)) { @@ -22162,7 +24004,7 @@ public static void TableSetBgColor(ImGuiTableBgTarget target, uint color, int co } } - /// Legacy Columns API (prefer using Tables!).
- You can also use SameLine(pos_x) to mimic simplified columns.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L765.
+ /// Legacy Columns API (prefer using Tables!).
- You can also use SameLine(pos_x) to mimic simplified columns.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L774.
// DEBUG: void Columns(int count = 1, const char* id = NULL, bool border = true) public static void Columns(int count = (int)(1), string id = default, bool border = true) { @@ -22176,7 +24018,7 @@ public static void Columns(int count = (int)(1), string id = default, bool borde } } - /// Next column, defaults to current row or next row if the current row is finished.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L766.
+ /// Next column, defaults to current row or next row if the current row is finished.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L775.
// DEBUG: void NextColumn() public static void NextColumn() { @@ -22190,7 +24032,7 @@ public static void NextColumn() } } - /// Get current column index.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L767.
+ /// Get current column index.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L776.
// DEBUG: int GetColumnIndex() public static int GetColumnIndex() { @@ -22198,7 +24040,7 @@ public static int GetColumnIndex() return ___ret; } - /// Get column width (in pixels). pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L768.
+ /// Get column width (in pixels). pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L777.
// DEBUG: float GetColumnWidth(int column_index = -1) public static float GetColumnWidth(int column_index = (int)(-1)) { @@ -22206,7 +24048,7 @@ public static float GetColumnWidth(int column_index = (int)(-1)) return ___ret; } - /// Set column width (in pixels). pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L769.
+ /// Set column width (in pixels). pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L778.
// DEBUG: void SetColumnWidth(int column_index, float width) public static void SetColumnWidth(int column_index, float width) { @@ -22220,7 +24062,7 @@ public static void SetColumnWidth(int column_index, float width) } } - /// Get position of column line (in pixels, from the left side of the contents region). pass -1 to use current column, otherwise 0..GetColumnsCount() inclusive. column 0 is typically 0.0f.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L770.
+ /// Get position of column line (in pixels, from the left side of the contents region). pass -1 to use current column, otherwise 0..GetColumnsCount() inclusive. column 0 is typically 0.0f.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L779.
// DEBUG: float GetColumnOffset(int column_index = -1) public static float GetColumnOffset(int column_index = (int)(-1)) { @@ -22228,7 +24070,7 @@ public static float GetColumnOffset(int column_index = (int)(-1)) return ___ret; } - /// Set position of column line (in pixels, from the left side of the contents region). pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L771.
+ /// Set position of column line (in pixels, from the left side of the contents region). pass -1 to use current column.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L780.
// DEBUG: void SetColumnOffset(int column_index, float offset_x) public static void SetColumnOffset(int column_index, float offset_x) { @@ -22242,7 +24084,7 @@ public static void SetColumnOffset(int column_index, float offset_x) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L772. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L781. // DEBUG: int GetColumnsCount() public static int GetColumnsCount() { @@ -22250,7 +24092,7 @@ public static int GetColumnsCount() return ___ret; } - /// Create and append into a TabBar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L775.
+ /// Create and append into a TabBar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L785.
// DEBUG: bool BeginTabBar(const char* str_id, ImGuiTabBarFlags flags = 0) public static bool BeginTabBar(string str_id, ImGuiTabBarFlags flags = (ImGuiTabBarFlags)(0)) { @@ -22258,7 +24100,7 @@ public static bool BeginTabBar(string str_id, ImGuiTabBarFlags flags = (ImGuiTab return ___ret; } - /// Only call EndTabBar() if BeginTabBar() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L776.
+ /// Only call EndTabBar() if BeginTabBar() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L786.
// DEBUG: void EndTabBar() public static void EndTabBar() { @@ -22272,7 +24114,7 @@ public static void EndTabBar() } } - /// Create a Tab. Returns true if the Tab is selected.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L777.
+ /// Create a Tab. Returns true if the Tab is selected.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L787.
// DEBUG: bool BeginTabItem(const char* label, bool* p_open = NULL, ImGuiTabItemFlags flags = 0) public static bool BeginTabItem(string label, ref bool p_open, ImGuiTabItemFlags flags = (ImGuiTabItemFlags)(0)) { @@ -22284,7 +24126,7 @@ public static bool BeginTabItem(string label, ref bool p_open, ImGuiTabItemFlags } } - /// Only call EndTabItem() if BeginTabItem() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L778.
+ /// Only call EndTabItem() if BeginTabItem() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L788.
// DEBUG: void EndTabItem() public static void EndTabItem() { @@ -22298,7 +24140,7 @@ public static void EndTabItem() } } - /// Create a Tab behaving like a button. return true when clicked. cannot be selected in the tab bar.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L779.
+ /// Create a Tab behaving like a button. return true when clicked. cannot be selected in the tab bar.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L789.
// DEBUG: bool TabItemButton(const char* label, ImGuiTabItemFlags flags = 0) public static bool TabItemButton(string label, ImGuiTabItemFlags flags = (ImGuiTabItemFlags)(0)) { @@ -22306,7 +24148,7 @@ public static bool TabItemButton(string label, ImGuiTabItemFlags flags = (ImGuiT return ___ret; } - /// Notify TabBar or Docking system of a closed tab/window ahead (useful to reduce visual flicker on reorderable tab bars). For tab-bar: call after BeginTabBar() and before Tab submissions. Otherwise call with a window name.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L780.
+ /// Notify TabBar or Docking system of a closed tab/window ahead (useful to reduce visual flicker on reorderable tab bars). For tab-bar: call after BeginTabBar() and before Tab submissions. Otherwise call with a window name.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L790.
// DEBUG: void SetTabItemClosed(const char* tab_or_docked_window_label) public static void SetTabItemClosed(string tab_or_docked_window_label) { @@ -22320,7 +24162,75 @@ public static void SetTabItemClosed(string tab_or_docked_window_label) } } - /// Start logging to tty (stdout).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L784.
+ /// Docking.
[BETA API] Enable with io.ConfigFlags |= ImGuiConfigFlags_DockingEnable.
Note: You can use most Docking facilities without calling any API. You DO NOT need to call DockSpace() to use Docking!
- Drag from window title bar or their tab to dock/undock. Hold SHIFT to disable docking/undocking.
- Drag from window menu button (upper-left button) to undock an entire node (all windows).
- When io.ConfigDockingWithShift == true, you instead need to hold SHIFT to _enable_ docking/undocking.
About dockspaces:.
- Use DockSpace() to create an explicit dock node _within_ an existing window. See Docking demo for details.
- Use DockSpaceOverViewport() to create an explicit dock node covering the screen or a specific viewport.
This is often used with ImGuiDockNodeFlags_PassthruCentralNode.
- Important: Dockspaces need to be submitted _before_ any window they can host. Submit it early in your frame!
- Important: Dockspaces need to be kept alive if hidden, otherwise windows docked into it will be undocked.
E.g. if you have multiple tabs with a dockspace inside each tab: submit the non-visible dockspaces with ImGuiDockNodeFlags_KeepAliveOnly.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L805.
+ // DEBUG: ImGuiID DockSpace(ImGuiID id, const ImVec2& size = ImVec2(0, 0), ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL) + public static uint DockSpace(uint id, Vector2 size, ImGuiDockNodeFlags flags = (ImGuiDockNodeFlags)(0), ImGuiWindowClass window_class = default) + { + var __arg1 = new IntPtr(Unsafe.AsPointer(ref size)) + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Case 3 */ + /* DEBUG: TypeMapImVec2.CSharpMarshalToNative: Function: True, ReturnVarName: False */ + ; + var __arg3 = window_class is null ? IntPtr.Zero : window_class.__Instance; + var ___ret = Environment.Is64BitProcess ? __Internal64.DockSpace(id, __arg1, flags, __arg3) : __Internal32.DockSpace(id, __arg1, flags, __arg3); + return ___ret; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L806. + // DEBUG: ImGuiID DockSpaceOverViewport(const ImGuiViewport* viewport = NULL, ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL) + public static uint DockSpaceOverViewport(ImGuiViewport viewport = default, ImGuiDockNodeFlags flags = (ImGuiDockNodeFlags)(0), ImGuiWindowClass window_class = default) + { + var __arg0 = viewport is null ? IntPtr.Zero : viewport.__Instance; + var __arg2 = window_class is null ? IntPtr.Zero : window_class.__Instance; + var ___ret = Environment.Is64BitProcess ? __Internal64.DockSpaceOverViewport(__arg0, flags, __arg2) : __Internal32.DockSpaceOverViewport(__arg0, flags, __arg2); + return ___ret; + } + + /// Set next window dock id.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L807.
+ // DEBUG: void SetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond = 0) + public static void SetNextWindowDockID(uint dock_id, ImGuiCond cond = (ImGuiCond)(0)) + { + if (Environment.Is64BitProcess) + { + __Internal64.SetNextWindowDockID(dock_id, cond); + } + else + { + __Internal32.SetNextWindowDockID(dock_id, cond); + } + } + + /// Set next window class (control docking compatibility + provide hints to platform backend via custom viewport flags and platform parent/child relationship).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L808.
+ // DEBUG: void SetNextWindowClass(const ImGuiWindowClass* window_class) + public static void SetNextWindowClass(ImGuiWindowClass window_class) + { + var __arg0 = window_class is null ? IntPtr.Zero : window_class.__Instance; + if (Environment.Is64BitProcess) + { + __Internal64.SetNextWindowClass(__arg0); + } + else + { + __Internal32.SetNextWindowClass(__arg0); + } + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L809. + // DEBUG: ImGuiID GetWindowDockID() + public static uint GetWindowDockID() + { + var ___ret = Environment.Is64BitProcess ? __Internal64.GetWindowDockID() : __Internal32.GetWindowDockID(); + return ___ret; + } + + /// Is current window docked into another window?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L810.
+ // DEBUG: bool IsWindowDocked() + public static bool IsWindowDocked() + { + var ___ret = Environment.Is64BitProcess ? __Internal64.IsWindowDocked() : __Internal32.IsWindowDocked(); + return ___ret; + } + + /// Start logging to tty (stdout).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L814.
// DEBUG: void LogToTTY(int auto_open_depth = -1) public static void LogToTTY(int auto_open_depth = (int)(-1)) { @@ -22334,7 +24244,7 @@ public static void LogToTTY(int auto_open_depth = (int)(-1)) } } - /// Start logging to file.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L785.
+ /// Start logging to file.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L815.
// DEBUG: void LogToFile(int auto_open_depth = -1, const char* filename = NULL) public static void LogToFile(int auto_open_depth = (int)(-1), string filename = default) { @@ -22348,7 +24258,7 @@ public static void LogToFile(int auto_open_depth = (int)(-1), string filename = } } - /// Start logging to OS clipboard.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L786.
+ /// Start logging to OS clipboard.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L816.
// DEBUG: void LogToClipboard(int auto_open_depth = -1) public static void LogToClipboard(int auto_open_depth = (int)(-1)) { @@ -22362,7 +24272,7 @@ public static void LogToClipboard(int auto_open_depth = (int)(-1)) } } - /// Stop logging (close file, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L787.
+ /// Stop logging (close file, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L817.
// DEBUG: void LogFinish() public static void LogFinish() { @@ -22376,7 +24286,7 @@ public static void LogFinish() } } - /// Helper to display buttons for logging to tty/file/clipboard.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L788.
+ /// Helper to display buttons for logging to tty/file/clipboard.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L818.
// DEBUG: void LogButtons() public static void LogButtons() { @@ -22390,7 +24300,7 @@ public static void LogButtons() } } - /// Pass text data straight to log (without being displayed).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L789.
+ /// Pass text data straight to log (without being displayed).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L819.
// DEBUG: void LogText(const char* fmt, ...) IM_FMTARGS(1) public static void LogText(string fmt) { @@ -22404,7 +24314,7 @@ public static void LogText(string fmt) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L790. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L820. // DEBUG: void LogTextV(const char* fmt, va_list args) IM_FMTLIST(1) public static void LogTextV(string fmt, Object args) { @@ -22418,7 +24328,7 @@ public static void LogTextV(string fmt, Object args) } } - /// Call after submitting an item which may be dragged. when this return true, you can call SetDragDropPayload() + EndDragDropSource().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L797.
+ /// Call after submitting an item which may be dragged. when this return true, you can call SetDragDropPayload() + EndDragDropSource().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L827.
// DEBUG: bool BeginDragDropSource(ImGuiDragDropFlags flags = 0) public static bool BeginDragDropSource(ImGuiDragDropFlags flags = (ImGuiDragDropFlags)(0)) { @@ -22426,7 +24336,7 @@ public static bool BeginDragDropSource(ImGuiDragDropFlags flags = (ImGuiDragDrop return ___ret; } - /// Type is a user defined string of maximum 32 characters. Strings starting with '_' are reserved for dear imgui internal types. Data is copied and held by imgui. Return true when payload has been accepted.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L798.
+ /// Type is a user defined string of maximum 32 characters. Strings starting with '_' are reserved for dear imgui internal types. Data is copied and held by imgui. Return true when payload has been accepted.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L828.
// DEBUG: bool SetDragDropPayload(const char* type, const void* data, size_t sz, ImGuiCond cond = 0) public static bool SetDragDropPayload(string type, IntPtr data, UIntPtr sz, ImGuiCond cond = (ImGuiCond)(0)) { @@ -22437,7 +24347,7 @@ public static bool SetDragDropPayload(string type, IntPtr data, UIntPtr sz, ImGu return ___ret; } - /// Only call EndDragDropSource() if BeginDragDropSource() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L799.
+ /// Only call EndDragDropSource() if BeginDragDropSource() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L829.
// DEBUG: void EndDragDropSource() public static void EndDragDropSource() { @@ -22451,7 +24361,7 @@ public static void EndDragDropSource() } } - /// Call after submitting an item that may receive a payload. If this returns true, you can call AcceptDragDropPayload() + EndDragDropTarget().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L800.
+ /// Call after submitting an item that may receive a payload. If this returns true, you can call AcceptDragDropPayload() + EndDragDropTarget().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L830.
// DEBUG: bool BeginDragDropTarget() public static bool BeginDragDropTarget() { @@ -22459,7 +24369,7 @@ public static bool BeginDragDropTarget() return ___ret; } - /// Accept contents of a given type. If ImGuiDragDropFlags_AcceptBeforeDelivery is set you can peek into the payload before the mouse button is released.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L801.
+ /// Accept contents of a given type. If ImGuiDragDropFlags_AcceptBeforeDelivery is set you can peek into the payload before the mouse button is released.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L831.
// DEBUG: const ImGuiPayload* AcceptDragDropPayload(const char* type, ImGuiDragDropFlags flags = 0) public static ImGuiPayload AcceptDragDropPayload(string type, ImGuiDragDropFlags flags = (ImGuiDragDropFlags)(0)) { @@ -22468,7 +24378,7 @@ public static ImGuiPayload AcceptDragDropPayload(string type, ImGuiDragDropFlags return __result0; } - /// Only call EndDragDropTarget() if BeginDragDropTarget() returns true!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L802.
+ /// Only call EndDragDropTarget() if BeginDragDropTarget() returns true!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L832.
// DEBUG: void EndDragDropTarget() public static void EndDragDropTarget() { @@ -22482,7 +24392,7 @@ public static void EndDragDropTarget() } } - /// Peek directly into the current payload from anywhere. may return NULL. use ImGuiPayload::IsDataType() to test for the payload type.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L803.
+ /// Peek directly into the current payload from anywhere. may return NULL. use ImGuiPayload::IsDataType() to test for the payload type.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L833.
// DEBUG: const ImGuiPayload* GetDragDropPayload() public static ImGuiPayload GetDragDropPayload() { @@ -22491,7 +24401,7 @@ public static ImGuiPayload GetDragDropPayload() return __result0; } - /// Disabling [BETA API].
- Disable all user interactions and dim items visuals (applying style.DisabledAlpha over current colors).
- Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled).
- BeginDisabled(false) essentially does nothing useful but is provided to facilitate use of boolean expressions. If you can avoid calling BeginDisabled(False)/EndDisabled() best to avoid it.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L809.
+ /// Disabling [BETA API].
- Disable all user interactions and dim items visuals (applying style.DisabledAlpha over current colors).
- Those can be nested but it cannot be used to enable an already disabled section (a single BeginDisabled(true) in the stack is enough to keep everything disabled).
- BeginDisabled(false) essentially does nothing useful but is provided to facilitate use of boolean expressions. If you can avoid calling BeginDisabled(False)/EndDisabled() best to avoid it.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L839.
// DEBUG: void BeginDisabled(bool disabled = true) public static void BeginDisabled(bool disabled = true) { @@ -22505,7 +24415,7 @@ public static void BeginDisabled(bool disabled = true) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L810. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L840. // DEBUG: void EndDisabled() public static void EndDisabled() { @@ -22519,7 +24429,7 @@ public static void EndDisabled() } } - /// Clipping.
- Mouse hovering is affected by ImGui::PushClipRect() calls, unlike direct calls to ImDrawList::PushClipRect() which are render only.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L814.
+ /// Clipping.
- Mouse hovering is affected by ImGui::PushClipRect() calls, unlike direct calls to ImDrawList::PushClipRect() which are render only.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L844.
// DEBUG: void PushClipRect(const ImVec2& clip_rect_min, const ImVec2& clip_rect_max, bool intersect_with_current_clip_rect) public static void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, bool intersect_with_current_clip_rect) { @@ -22541,7 +24451,7 @@ public static void PushClipRect(Vector2 clip_rect_min, Vector2 clip_rect_max, bo } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L815. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L845. // DEBUG: void PopClipRect() public static void PopClipRect() { @@ -22555,7 +24465,7 @@ public static void PopClipRect() } } - /// Make last item the default focused item of a window.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L819.
+ /// Make last item the default focused item of a window.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L849.
// DEBUG: void SetItemDefaultFocus() public static void SetItemDefaultFocus() { @@ -22569,7 +24479,7 @@ public static void SetItemDefaultFocus() } } - /// Focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L820.
+ /// Focus keyboard on the next widget. Use positive 'offset' to access sub components of a multiple component widget. Use -1 to access previous widget.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L850.
// DEBUG: void SetKeyboardFocusHere(int offset = 0) public static void SetKeyboardFocusHere(int offset = (int)(0)) { @@ -22583,7 +24493,7 @@ public static void SetKeyboardFocusHere(int offset = (int)(0)) } } - /// Is the last item hovered? (and usable, aka not blocked by a popup, etc.). See ImGuiHoveredFlags for more options.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L825.
+ /// Is the last item hovered? (and usable, aka not blocked by a popup, etc.). See ImGuiHoveredFlags for more options.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L855.
// DEBUG: bool IsItemHovered(ImGuiHoveredFlags flags = 0) public static bool IsItemHovered(ImGuiHoveredFlags flags = (ImGuiHoveredFlags)(0)) { @@ -22591,7 +24501,7 @@ public static bool IsItemHovered(ImGuiHoveredFlags flags = (ImGuiHoveredFlags)(0 return ___ret; } - /// Is the last item active? (e.g. button being held, text field being edited. This will continuously return true while holding mouse button on an item. Items that don't interact will always return false).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L826.
+ /// Is the last item active? (e.g. button being held, text field being edited. This will continuously return true while holding mouse button on an item. Items that don't interact will always return false).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L856.
// DEBUG: bool IsItemActive() public static bool IsItemActive() { @@ -22599,7 +24509,7 @@ public static bool IsItemActive() return ___ret; } - /// Is the last item focused for keyboard/gamepad navigation?.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L827.
+ /// Is the last item focused for keyboard/gamepad navigation?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L857.
// DEBUG: bool IsItemFocused() public static bool IsItemFocused() { @@ -22607,7 +24517,7 @@ public static bool IsItemFocused() return ___ret; } - /// Is the last item hovered and mouse clicked on? (**).
== IsMouseClicked(mouse_button) & & IsItemHovered()Important. (**) this it NOT equivalent to the behavior of e.g. Button(). Read comments in function definition.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L828.
+ /// Is the last item hovered and mouse clicked on? (**).
== IsMouseClicked(mouse_button) & & IsItemHovered()Important. (**) this it NOT equivalent to the behavior of e.g. Button(). Read comments in function definition.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L858.
// DEBUG: bool IsItemClicked(ImGuiMouseButton mouse_button = 0) public static bool IsItemClicked(ImGuiMouseButton mouse_button = (ImGuiMouseButton)(0)) { @@ -22615,7 +24525,7 @@ public static bool IsItemClicked(ImGuiMouseButton mouse_button = (ImGuiMouseButt return ___ret; } - /// Is the last item visible? (items may be out of sight because of clipping/scrolling).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L829.
+ /// Is the last item visible? (items may be out of sight because of clipping/scrolling).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L859.
// DEBUG: bool IsItemVisible() public static bool IsItemVisible() { @@ -22623,7 +24533,7 @@ public static bool IsItemVisible() return ___ret; } - /// Did the last item modify its underlying value this frame? or was pressed? This is generally the same as the "bool" return value of many widgets.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L830.
+ /// Did the last item modify its underlying value this frame? or was pressed? This is generally the same as the "bool" return value of many widgets.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L860.
// DEBUG: bool IsItemEdited() public static bool IsItemEdited() { @@ -22631,7 +24541,7 @@ public static bool IsItemEdited() return ___ret; } - /// Was the last item just made active (item was previously inactive).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L831.
+ /// Was the last item just made active (item was previously inactive).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L861.
// DEBUG: bool IsItemActivated() public static bool IsItemActivated() { @@ -22639,7 +24549,7 @@ public static bool IsItemActivated() return ___ret; } - /// Was the last item just made inactive (item was previously active). Useful for Undo/Redo patterns with widgets that requires continuous editing.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L832.
+ /// Was the last item just made inactive (item was previously active). Useful for Undo/Redo patterns with widgets that requires continuous editing.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L862.
// DEBUG: bool IsItemDeactivated() public static bool IsItemDeactivated() { @@ -22647,7 +24557,7 @@ public static bool IsItemDeactivated() return ___ret; } - /// Was the last item just made inactive and made a value change when it was active? (e.g. Slider/Drag moved). Useful for Undo/Redo patterns with widgets that requires continuous editing. Note that you may get false positives (some widgets such as Combo()/ListBox()/Selectable() will return true even when clicking an already selected item).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L833.
+ /// Was the last item just made inactive and made a value change when it was active? (e.g. Slider/Drag moved). Useful for Undo/Redo patterns with widgets that requires continuous editing. Note that you may get false positives (some widgets such as Combo()/ListBox()/Selectable() will return true even when clicking an already selected item).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L863.
// DEBUG: bool IsItemDeactivatedAfterEdit() public static bool IsItemDeactivatedAfterEdit() { @@ -22655,7 +24565,7 @@ public static bool IsItemDeactivatedAfterEdit() return ___ret; } - /// Was the last item open state toggled? set by TreeNode().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L834.
+ /// Was the last item open state toggled? set by TreeNode().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L864.
// DEBUG: bool IsItemToggledOpen() public static bool IsItemToggledOpen() { @@ -22663,7 +24573,7 @@ public static bool IsItemToggledOpen() return ___ret; } - /// Is any item hovered?.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L835.
+ /// Is any item hovered?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L865.
// DEBUG: bool IsAnyItemHovered() public static bool IsAnyItemHovered() { @@ -22671,7 +24581,7 @@ public static bool IsAnyItemHovered() return ___ret; } - /// Is any item active?.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L836.
+ /// Is any item active?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L866.
// DEBUG: bool IsAnyItemActive() public static bool IsAnyItemActive() { @@ -22679,7 +24589,7 @@ public static bool IsAnyItemActive() return ___ret; } - /// Is any item focused?.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L837.
+ /// Is any item focused?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L867.
// DEBUG: bool IsAnyItemFocused() public static bool IsAnyItemFocused() { @@ -22687,7 +24597,7 @@ public static bool IsAnyItemFocused() return ___ret; } - /// Get upper-left bounding rectangle of the last item (screen space).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L838.
+ /// Get upper-left bounding rectangle of the last item (screen space).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L868.
// DEBUG: ImVec2 GetItemRectMin() public static Vector2 GetItemRectMin() { @@ -22707,7 +24617,7 @@ public static Vector2 GetItemRectMin() ; } - /// Get lower-right bounding rectangle of the last item (screen space).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L839.
+ /// Get lower-right bounding rectangle of the last item (screen space).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L869.
// DEBUG: ImVec2 GetItemRectMax() public static Vector2 GetItemRectMax() { @@ -22727,7 +24637,7 @@ public static Vector2 GetItemRectMax() ; } - /// Get size of last item.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L840.
+ /// Get size of last item.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L870.
// DEBUG: ImVec2 GetItemRectSize() public static Vector2 GetItemRectSize() { @@ -22747,7 +24657,7 @@ public static Vector2 GetItemRectSize() ; } - /// Allow last item to be overlapped by a subsequent item. sometimes useful with invisible buttons, selectables, etc. to catch unused area.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L841.
+ /// Allow last item to be overlapped by a subsequent item. sometimes useful with invisible buttons, selectables, etc. to catch unused area.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L871.
// DEBUG: void SetItemAllowOverlap() public static void SetItemAllowOverlap() { @@ -22761,7 +24671,7 @@ public static void SetItemAllowOverlap() } } - /// Return primary/default viewport. This can never be NULL.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L847.
+ /// Return primary/default viewport. This can never be NULL.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L877.
// DEBUG: ImGuiViewport* GetMainViewport() public static ImGuiViewport GetMainViewport() { @@ -22770,7 +24680,7 @@ public static ImGuiViewport GetMainViewport() return __result0; } - /// This draw list will be the first rendered one. Useful to quickly draw shapes/text behind dear imgui contents.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L850.
+ /// Get background draw list for the viewport associated to the current window. this draw list will be the first rendering one. Useful to quickly draw shapes/text behind dear imgui contents.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L880.
// DEBUG: ImDrawList* GetBackgroundDrawList() public static ImDrawList GetBackgroundDrawList() { @@ -22779,7 +24689,7 @@ public static ImDrawList GetBackgroundDrawList() return __result0; } - /// This draw list will be the last rendered one. Useful to quickly draw shapes/text over dear imgui contents.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L851.
+ /// Get foreground draw list for the viewport associated to the current window. this draw list will be the last rendered one. Useful to quickly draw shapes/text over dear imgui contents.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L881.
// DEBUG: ImDrawList* GetForegroundDrawList() public static ImDrawList GetForegroundDrawList() { @@ -22788,7 +24698,27 @@ public static ImDrawList GetForegroundDrawList() return __result0; } - /// Test if rectangle (of given size, starting from cursor position) is visible / not clipped.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L854.
+ /// Get background draw list for the given viewport. this draw list will be the first rendering one. Useful to quickly draw shapes/text behind dear imgui contents.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L882.
+ // DEBUG: ImDrawList* GetBackgroundDrawList(ImGuiViewport* viewport) + public static ImDrawList GetBackgroundDrawList(ImGuiViewport viewport) + { + var __arg0 = viewport is null ? IntPtr.Zero : viewport.__Instance; + var ___ret = Environment.Is64BitProcess ? __Internal64.GetBackgroundDrawList(__arg0) : __Internal32.GetBackgroundDrawList(__arg0); + var __result0 = ___ret != IntPtr.Zero ? ImDrawList.__CreateInstance(___ret) : default; + return __result0; + } + + /// Get foreground draw list for the given viewport. this draw list will be the last rendered one. Useful to quickly draw shapes/text over dear imgui contents.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L883.
+ // DEBUG: ImDrawList* GetForegroundDrawList(ImGuiViewport* viewport) + public static ImDrawList GetForegroundDrawList(ImGuiViewport viewport) + { + var __arg0 = viewport is null ? IntPtr.Zero : viewport.__Instance; + var ___ret = Environment.Is64BitProcess ? __Internal64.GetForegroundDrawList(__arg0) : __Internal32.GetForegroundDrawList(__arg0); + var __result0 = ___ret != IntPtr.Zero ? ImDrawList.__CreateInstance(___ret) : default; + return __result0; + } + + /// Test if rectangle (of given size, starting from cursor position) is visible / not clipped.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L886.
// DEBUG: bool IsRectVisible(const ImVec2& size) public static bool IsRectVisible(Vector2 size) { @@ -22800,7 +24730,7 @@ public static bool IsRectVisible(Vector2 size) return ___ret; } - /// Test if rectangle (in screen space) is visible / not clipped. to perform coarse clipping on user's side.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L855.
+ /// Test if rectangle (in screen space) is visible / not clipped. to perform coarse clipping on user's side.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L887.
// DEBUG: bool IsRectVisible(const ImVec2& rect_min, const ImVec2& rect_max) public static bool IsRectVisible(Vector2 rect_min, Vector2 rect_max) { @@ -22816,7 +24746,7 @@ public static bool IsRectVisible(Vector2 rect_min, Vector2 rect_max) return ___ret; } - /// Get global imgui time. incremented by io.DeltaTime every frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L856.
+ /// Get global imgui time. incremented by io.DeltaTime every frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L888.
// DEBUG: double GetTime() public static double GetTime() { @@ -22824,7 +24754,7 @@ public static double GetTime() return ___ret; } - /// Get global imgui frame count. incremented by 1 every frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L857.
+ /// Get global imgui frame count. incremented by 1 every frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L889.
// DEBUG: int GetFrameCount() public static int GetFrameCount() { @@ -22832,7 +24762,7 @@ public static int GetFrameCount() return ___ret; } - /// You may use this when creating your own ImDrawList instances.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L858.
+ /// You may use this when creating your own ImDrawList instances.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L890.
// DEBUG: ImDrawListSharedData* GetDrawListSharedData() public static ImDrawListSharedData GetDrawListSharedData() { @@ -22841,7 +24771,7 @@ public static ImDrawListSharedData GetDrawListSharedData() return __result0; } - /// Get a string corresponding to the enum value (for display, saving, etc.).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L859.
+ /// Get a string corresponding to the enum value (for display, saving, etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L891.
// DEBUG: const char* GetStyleColorName(ImGuiCol idx) public static string GetStyleColorName(ImGuiCol idx) { @@ -22849,7 +24779,7 @@ public static string GetStyleColorName(ImGuiCol idx) return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); } - /// Replace current window storage with our own (if you want to manipulate it yourself, typically clear subsection of it).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L860.
+ /// Replace current window storage with our own (if you want to manipulate it yourself, typically clear subsection of it).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L892.
// DEBUG: void SetStateStorage(ImGuiStorage* storage) public static void SetStateStorage(ImGuiStorage storage) { @@ -22864,7 +24794,7 @@ public static void SetStateStorage(ImGuiStorage storage) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L861. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L893. // DEBUG: ImGuiStorage* GetStateStorage() public static ImGuiStorage GetStateStorage() { @@ -22873,7 +24803,7 @@ public static ImGuiStorage GetStateStorage() return __result0; } - /// Helper to create a child window / scrolling region that looks like a normal widget frame.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L862.
+ /// Helper to create a child window / scrolling region that looks like a normal widget frame.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L894.
// DEBUG: bool BeginChildFrame(ImGuiID id, const ImVec2& size, ImGuiWindowFlags flags = 0) public static bool BeginChildFrame(uint id, Vector2 size, ImGuiWindowFlags flags = (ImGuiWindowFlags)(0)) { @@ -22885,7 +24815,7 @@ public static bool BeginChildFrame(uint id, Vector2 size, ImGuiWindowFlags flags return ___ret; } - /// Always call EndChildFrame() regardless of BeginChildFrame() return values (which indicates a collapsed/clipped window).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L863.
+ /// Always call EndChildFrame() regardless of BeginChildFrame() return values (which indicates a collapsed/clipped window).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L895.
// DEBUG: void EndChildFrame() public static void EndChildFrame() { @@ -22899,7 +24829,7 @@ public static void EndChildFrame() } } - /// Text Utilities.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L866.
+ /// Text Utilities.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L898.
// DEBUG: ImVec2 CalcTextSize(const char* text, const char* text_end = NULL, bool hide_text_after_double_hash = false, float wrap_width = -1.0f) public static Vector2 CalcTextSize(string text, string text_end = default, bool hide_text_after_double_hash = false, float wrap_width = -1.0F) { @@ -22919,7 +24849,7 @@ public static Vector2 CalcTextSize(string text, string text_end = default, bool ; } - /// Color Utilities.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L869.
+ /// Color Utilities.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L901.
// DEBUG: ImVec4 ColorConvertU32ToFloat4(ImU32 in) public static Vector4 ColorConvertU32ToFloat4(uint @in) { @@ -22939,7 +24869,7 @@ public static Vector4 ColorConvertU32ToFloat4(uint @in) ; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L870. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L902. // DEBUG: ImU32 ColorConvertFloat4ToU32(const ImVec4& in) public static uint ColorConvertFloat4ToU32(Vector4 @in) { @@ -22951,7 +24881,7 @@ public static uint ColorConvertFloat4ToU32(Vector4 @in) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L871. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L903. // DEBUG: void ColorConvertRGBtoHSV(float r, float g, float b, float& out_h, float& out_s, float& out_v) public static void ColorConvertRGBtoHSV(float r, float g, float b, ref float out_h, ref float out_s, ref float out_v) { @@ -22977,7 +24907,7 @@ public static void ColorConvertRGBtoHSV(float r, float g, float b, ref float out } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L872. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L904. // DEBUG: void ColorConvertHSVtoRGB(float h, float s, float v, float& out_r, float& out_g, float& out_b) public static void ColorConvertHSVtoRGB(float h, float s, float v, ref float out_r, ref float out_g, ref float out_b) { @@ -23003,7 +24933,7 @@ public static void ColorConvertHSVtoRGB(float h, float s, float v, ref float out } } - /// Is key being held.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L880.
+ /// Is key being held.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L912.
// DEBUG: bool IsKeyDown(ImGuiKey key) public static bool IsKeyDown(ImGuiKey key) { @@ -23011,7 +24941,7 @@ public static bool IsKeyDown(ImGuiKey key) return ___ret; } - /// Was key pressed (went from !Down to Down)? if repeat=true, uses io.KeyRepeatDelay / KeyRepeatRate.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L881.
+ /// Was key pressed (went from !Down to Down)? if repeat=true, uses io.KeyRepeatDelay / KeyRepeatRate.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L913.
// DEBUG: bool IsKeyPressed(ImGuiKey key, bool repeat = true) public static bool IsKeyPressed(ImGuiKey key, bool repeat = true) { @@ -23019,7 +24949,7 @@ public static bool IsKeyPressed(ImGuiKey key, bool repeat = true) return ___ret; } - /// Was key released (went from Down to !Down)?.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L882.
+ /// Was key released (went from Down to !Down)?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L914.
// DEBUG: bool IsKeyReleased(ImGuiKey key) public static bool IsKeyReleased(ImGuiKey key) { @@ -23027,7 +24957,7 @@ public static bool IsKeyReleased(ImGuiKey key) return ___ret; } - /// Uses provided repeat rate/delay. return a count, most often 0 or 1 but might be >1 if RepeatRate is small enough that DeltaTime > RepeatRate.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L883.
+ /// Uses provided repeat rate/delay. return a count, most often 0 or 1 but might be >1 if RepeatRate is small enough that DeltaTime > RepeatRate.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L915.
// DEBUG: int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate) public static int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate) { @@ -23035,7 +24965,7 @@ public static int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float ra return ___ret; } - /// [DEBUG] returns English name of the key. Those names a provided for debugging purpose and are not meant to be saved persistently not compared.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L884.
+ /// [DEBUG] returns English name of the key. Those names a provided for debugging purpose and are not meant to be saved persistently not compared.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L916.
// DEBUG: const char* GetKeyName(ImGuiKey key) public static string GetKeyName(ImGuiKey key) { @@ -23043,7 +24973,7 @@ public static string GetKeyName(ImGuiKey key) return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); } - /// Override io.WantCaptureKeyboard flag next frame (said flag is left for your application to handle, typically when true it instructs your app to ignore inputs). e.g. force capture keyboard when your widget is being hovered. This is equivalent to setting "io.WantCaptureKeyboard = want_capture_keyboard"; after the next NewFrame() call.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L885.
+ /// Override io.WantCaptureKeyboard flag next frame (said flag is left for your application to handle, typically when true it instructs your app to ignore inputs). e.g. force capture keyboard when your widget is being hovered. This is equivalent to setting "io.WantCaptureKeyboard = want_capture_keyboard"; after the next NewFrame() call.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L917.
// DEBUG: void SetNextFrameWantCaptureKeyboard(bool want_capture_keyboard) public static void SetNextFrameWantCaptureKeyboard(bool want_capture_keyboard) { @@ -23057,7 +24987,7 @@ public static void SetNextFrameWantCaptureKeyboard(bool want_capture_keyboard) } } - /// Is mouse button held?.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L891.
+ /// Is mouse button held?.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L923.
// DEBUG: bool IsMouseDown(ImGuiMouseButton button) public static bool IsMouseDown(ImGuiMouseButton button) { @@ -23065,7 +24995,7 @@ public static bool IsMouseDown(ImGuiMouseButton button) return ___ret; } - /// Did mouse button clicked? (went from !Down to Down). Same as GetMouseClickedCount() == 1.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L892.
+ /// Did mouse button clicked? (went from !Down to Down). Same as GetMouseClickedCount() == 1.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L924.
// DEBUG: bool IsMouseClicked(ImGuiMouseButton button, bool repeat = false) public static bool IsMouseClicked(ImGuiMouseButton button, bool repeat = false) { @@ -23073,7 +25003,7 @@ public static bool IsMouseClicked(ImGuiMouseButton button, bool repeat = false) return ___ret; } - /// Did mouse button released? (went from Down to !Down).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L893.
+ /// Did mouse button released? (went from Down to !Down).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L925.
// DEBUG: bool IsMouseReleased(ImGuiMouseButton button) public static bool IsMouseReleased(ImGuiMouseButton button) { @@ -23081,7 +25011,7 @@ public static bool IsMouseReleased(ImGuiMouseButton button) return ___ret; } - /// Did mouse button double-clicked? Same as GetMouseClickedCount() == 2. (note that a double-click will also report IsMouseClicked() == true).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L894.
+ /// Did mouse button double-clicked? Same as GetMouseClickedCount() == 2. (note that a double-click will also report IsMouseClicked() == true).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L926.
// DEBUG: bool IsMouseDoubleClicked(ImGuiMouseButton button) public static bool IsMouseDoubleClicked(ImGuiMouseButton button) { @@ -23089,7 +25019,7 @@ public static bool IsMouseDoubleClicked(ImGuiMouseButton button) return ___ret; } - /// Return the number of successive mouse-clicks at the time where a click happen (otherwise 0).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L895.
+ /// Return the number of successive mouse-clicks at the time where a click happen (otherwise 0).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L927.
// DEBUG: int GetMouseClickedCount(ImGuiMouseButton button) public static int GetMouseClickedCount(ImGuiMouseButton button) { @@ -23097,7 +25027,7 @@ public static int GetMouseClickedCount(ImGuiMouseButton button) return ___ret; } - /// Is mouse hovering given bounding rect (in screen space). clipped by current clipping settings, but disregarding of other consideration of focus/window ordering/popup-block.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L896.
+ /// Is mouse hovering given bounding rect (in screen space). clipped by current clipping settings, but disregarding of other consideration of focus/window ordering/popup-block.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L928.
// DEBUG: bool IsMouseHoveringRect(const ImVec2& r_min, const ImVec2& r_max, bool clip = true) public static bool IsMouseHoveringRect(Vector2 r_min, Vector2 r_max, bool clip = true) { @@ -23113,7 +25043,7 @@ public static bool IsMouseHoveringRect(Vector2 r_min, Vector2 r_max, bool clip = return ___ret; } - /// By convention we use (-FLT_MAX,-FLT_MAX) to denote that there is no mouse available.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L897.
+ /// By convention we use (-FLT_MAX,-FLT_MAX) to denote that there is no mouse available.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L929.
// DEBUG: bool IsMousePosValid(const ImVec2* mouse_pos = NULL) public static bool IsMousePosValid(ref Vector2 mouse_pos) { @@ -23125,7 +25055,7 @@ public static bool IsMousePosValid(ref Vector2 mouse_pos) return ___ret; } - /// [WILL OBSOLETE] is any mouse button held? This was designed for backends, but prefer having backend maintain a mask of held mouse buttons, because upcoming input queue system will make this invalid.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L898.
+ /// [WILL OBSOLETE] is any mouse button held? This was designed for backends, but prefer having backend maintain a mask of held mouse buttons, because upcoming input queue system will make this invalid.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L930.
// DEBUG: bool IsAnyMouseDown() public static bool IsAnyMouseDown() { @@ -23133,7 +25063,7 @@ public static bool IsAnyMouseDown() return ___ret; } - /// Shortcut to ImGui::GetIO().MousePos provided by user, to be consistent with other calls.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L899.
+ /// Shortcut to ImGui::GetIO().MousePos provided by user, to be consistent with other calls.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L931.
// DEBUG: ImVec2 GetMousePos() public static Vector2 GetMousePos() { @@ -23153,7 +25083,7 @@ public static Vector2 GetMousePos() ; } - /// Retrieve mouse position at the time of opening popup we have BeginPopup() into (helper to avoid user backing that value themselves).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L900.
+ /// Retrieve mouse position at the time of opening popup we have BeginPopup() into (helper to avoid user backing that value themselves).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L932.
// DEBUG: ImVec2 GetMousePosOnOpeningCurrentPopup() public static Vector2 GetMousePosOnOpeningCurrentPopup() { @@ -23173,7 +25103,7 @@ public static Vector2 GetMousePosOnOpeningCurrentPopup() ; } - /// Is mouse dragging? (if lock_threshold < -1.0f, uses io.MouseDraggingThreshold).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L901.
+ /// Is mouse dragging? (if lock_threshold < -1.0f, uses io.MouseDraggingThreshold).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L933.
// DEBUG: bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold = -1.0f) public static bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold = -1.0F) { @@ -23181,7 +25111,7 @@ public static bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold return ___ret; } - /// Return the delta from the initial clicking position while the mouse button is pressed or was just released. This is locked and return 0.0f until the mouse moves past a distance threshold at least once (if lock_threshold < -1.0f, uses io.MouseDraggingThreshold).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L902.
+ /// Return the delta from the initial clicking position while the mouse button is pressed or was just released. This is locked and return 0.0f until the mouse moves past a distance threshold at least once (if lock_threshold < -1.0f, uses io.MouseDraggingThreshold).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L934.
// DEBUG: ImVec2 GetMouseDragDelta(ImGuiMouseButton button = 0, float lock_threshold = -1.0f) public static Vector2 GetMouseDragDelta(ImGuiMouseButton button = (ImGuiMouseButton)(0), float lock_threshold = -1.0F) { @@ -23201,7 +25131,7 @@ public static Vector2 GetMouseDragDelta(ImGuiMouseButton button = (ImGuiMouseBut ; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L903. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L935. // DEBUG: void ResetMouseDragDelta(ImGuiMouseButton button = 0) public static void ResetMouseDragDelta(ImGuiMouseButton button = (ImGuiMouseButton)(0)) { @@ -23215,7 +25145,7 @@ public static void ResetMouseDragDelta(ImGuiMouseButton button = (ImGuiMouseButt } } - /// Get desired cursor type, reset in ImGui::NewFrame(), this is updated during the frame. valid before Render(). If you use software rendering by setting io.MouseDrawCursor ImGui will render those for you.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L904.
+ /// Get desired cursor type, reset in ImGui::NewFrame(), this is updated during the frame. valid before Render(). If you use software rendering by setting io.MouseDrawCursor ImGui will render those for you.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L936.
// DEBUG: ImGuiMouseCursor GetMouseCursor() public static ImGuiMouseCursor GetMouseCursor() { @@ -23223,7 +25153,7 @@ public static ImGuiMouseCursor GetMouseCursor() return ___ret; } - /// Set desired cursor type.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L905.
+ /// Set desired cursor type.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L937.
// DEBUG: void SetMouseCursor(ImGuiMouseCursor cursor_type) public static void SetMouseCursor(ImGuiMouseCursor cursor_type) { @@ -23237,7 +25167,7 @@ public static void SetMouseCursor(ImGuiMouseCursor cursor_type) } } - /// Override io.WantCaptureMouse flag next frame (said flag is left for your application to handle, typical when true it instucts your app to ignore inputs). This is equivalent to setting "io.WantCaptureMouse = want_capture_mouse;" after the next NewFrame() call.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L906.
+ /// Override io.WantCaptureMouse flag next frame (said flag is left for your application to handle, typical when true it instucts your app to ignore inputs). This is equivalent to setting "io.WantCaptureMouse = want_capture_mouse;" after the next NewFrame() call.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L938.
// DEBUG: void SetNextFrameWantCaptureMouse(bool want_capture_mouse) public static void SetNextFrameWantCaptureMouse(bool want_capture_mouse) { @@ -23251,7 +25181,7 @@ public static void SetNextFrameWantCaptureMouse(bool want_capture_mouse) } } - /// Clipboard Utilities.
- Also see the LogToClipboard() function to capture GUI into clipboard, or easily output text data to the clipboard.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L910.
+ /// Clipboard Utilities.
- Also see the LogToClipboard() function to capture GUI into clipboard, or easily output text data to the clipboard.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L942.
// DEBUG: const char* GetClipboardText() public static string GetClipboardText() { @@ -23259,7 +25189,7 @@ public static string GetClipboardText() return CppSharp.Runtime.MarshalUtil.GetString(Encoding.UTF8, ___ret); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L911. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L943. // DEBUG: void SetClipboardText(const char* text) public static void SetClipboardText(string text) { @@ -23273,7 +25203,7 @@ public static void SetClipboardText(string text) } } - /// Call after CreateContext() and before the first call to NewFrame(). NewFrame() automatically calls LoadIniSettingsFromDisk(io.IniFilename).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L917.
+ /// Call after CreateContext() and before the first call to NewFrame(). NewFrame() automatically calls LoadIniSettingsFromDisk(io.IniFilename).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L949.
// DEBUG: void LoadIniSettingsFromDisk(const char* ini_filename) public static void LoadIniSettingsFromDisk(string ini_filename) { @@ -23287,7 +25217,7 @@ public static void LoadIniSettingsFromDisk(string ini_filename) } } - /// Call after CreateContext() and before the first call to NewFrame() to provide .ini data from your own data source.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L918.
+ /// Call after CreateContext() and before the first call to NewFrame() to provide .ini data from your own data source.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L950.
// DEBUG: void LoadIniSettingsFromMemory(const char* ini_data, size_t ini_size=0) public static void LoadIniSettingsFromMemory(string ini_data, UIntPtr ini_size = default) { @@ -23304,7 +25234,7 @@ public static void LoadIniSettingsFromMemory(string ini_data, UIntPtr ini_size = } } - /// This is automatically called (if io.IniFilename is not empty) a few seconds after any modification that should be reflected in the .ini file (and also by DestroyContext).
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L919.
+ /// This is automatically called (if io.IniFilename is not empty) a few seconds after any modification that should be reflected in the .ini file (and also by DestroyContext).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L951.
// DEBUG: void SaveIniSettingsToDisk(const char* ini_filename) public static void SaveIniSettingsToDisk(string ini_filename) { @@ -23318,7 +25248,7 @@ public static void SaveIniSettingsToDisk(string ini_filename) } } - /// Return a zero-terminated string with the .ini data which you can save by your own mean. call when io.WantSaveIniSettings is set, then save data by your own mean and clear io.WantSaveIniSettings.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L920.
+ /// Return a zero-terminated string with the .ini data which you can save by your own mean. call when io.WantSaveIniSettings is set, then save data by your own mean and clear io.WantSaveIniSettings.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L952.
// DEBUG: const char* SaveIniSettingsToMemory(size_t* out_ini_size = NULL) public static string SaveIniSettingsToMemory(ref UIntPtr out_ini_size) { @@ -23330,7 +25260,7 @@ public static string SaveIniSettingsToMemory(ref UIntPtr out_ini_size) } } - /// Debug Utilities.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L923.
+ /// Debug Utilities.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L955.
// DEBUG: void DebugTextEncoding(const char* text) public static void DebugTextEncoding(string text) { @@ -23344,7 +25274,7 @@ public static void DebugTextEncoding(string text) } } - /// This is called by IMGUI_CHECKVERSION() macro.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L924.
+ /// This is called by IMGUI_CHECKVERSION() macro.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L956.
// DEBUG: bool DebugCheckVersionAndDataLayout(const char* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx) public static bool DebugCheckVersionAndDataLayout(string version_str, UIntPtr sz_io, UIntPtr sz_style, UIntPtr sz_vec2, UIntPtr sz_vec4, UIntPtr sz_drawvert, UIntPtr sz_drawidx) { @@ -23370,7 +25300,7 @@ public static bool DebugCheckVersionAndDataLayout(string version_str, UIntPtr sz return ___ret; } - /// Memory Allocators.
- Those functions are not reliant on the current context.
- DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions().
For each static/DLL boundary you are calling from. Read "Context and Memory Allocators" section of imgui.cpp for more details.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L930.
+ /// Memory Allocators.
- Those functions are not reliant on the current context.
- DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions().
For each static/DLL boundary you are calling from. Read "Context and Memory Allocators" section of imgui.cpp for more details.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L962.
// DEBUG: void SetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, void* user_data = NULL) public static void SetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, IntPtr user_data = default) { @@ -23386,7 +25316,7 @@ public static void SetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemF } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L931. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L963. // DEBUG: void GetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func, ImGuiMemFreeFunc* p_free_func, void** p_user_data) public static void GetAllocatorFunctions(ImGuiMemAllocFunc p_alloc_func, ImGuiMemFreeFunc p_free_func, IntPtr* p_user_data) { @@ -23402,7 +25332,7 @@ public static void GetAllocatorFunctions(ImGuiMemAllocFunc p_alloc_func, ImGuiMe } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L932. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L964. // DEBUG: void* MemAlloc(size_t size) public static IntPtr MemAlloc(UIntPtr size) { @@ -23413,7 +25343,7 @@ public static IntPtr MemAlloc(UIntPtr size) return ___ret; } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L933. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L965. // DEBUG: void MemFree(void* ptr) public static void MemFree(IntPtr ptr) { @@ -23427,7 +25357,76 @@ public static void MemFree(IntPtr ptr) } } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L2964. + /// Platform/renderer functions, for backend to setup + viewports list.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L970.
+ // DEBUG: ImGuiPlatformIO& GetPlatformIO() + public static ImGuiPlatformIO GetPlatformIO() + { + var ___ret = Environment.Is64BitProcess ? __Internal64.GetPlatformIO() : __Internal32.GetPlatformIO(); + var __result0 = ImGuiPlatformIO.__GetOrCreateInstance(___ret, false); + return __result0; + } + + /// Call in main loop. will call CreateWindow/ResizeWindow/etc. platform functions for each secondary viewport, and DestroyWindow for each inactive viewport.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L971.
+ // DEBUG: void UpdatePlatformWindows() + public static void UpdatePlatformWindows() + { + if (Environment.Is64BitProcess) + { + __Internal64.UpdatePlatformWindows(); + } + else + { + __Internal32.UpdatePlatformWindows(); + } + } + + /// Call in main loop. will call RenderWindow/SwapBuffers platform functions for each secondary viewport which doesn't have the ImGuiViewportFlags_Minimized flag set. May be reimplemented by user for custom rendering needs.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L972.
+ // DEBUG: void RenderPlatformWindowsDefault(void* platform_render_arg = NULL, void* renderer_render_arg = NULL) + public static void RenderPlatformWindowsDefault(IntPtr platform_render_arg = default, IntPtr renderer_render_arg = default) + { + if (Environment.Is64BitProcess) + { + __Internal64.RenderPlatformWindowsDefault(platform_render_arg, renderer_render_arg); + } + else + { + __Internal32.RenderPlatformWindowsDefault(platform_render_arg, renderer_render_arg); + } + } + + /// Call DestroyWindow platform functions for all viewports. call from backend Shutdown() if you need to close platform windows before imgui shutdown. otherwise will be called by DestroyContext().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L973.
+ // DEBUG: void DestroyPlatformWindows() + public static void DestroyPlatformWindows() + { + if (Environment.Is64BitProcess) + { + __Internal64.DestroyPlatformWindows(); + } + else + { + __Internal32.DestroyPlatformWindows(); + } + } + + /// This is a helper for backends.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L974.
+ // DEBUG: ImGuiViewport* FindViewportByID(ImGuiID id) + public static ImGuiViewport FindViewportByID(uint id) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.FindViewportByID(id) : __Internal32.FindViewportByID(id); + var __result0 = ImGuiViewport.__GetOrCreateInstance(___ret, false); + return __result0; + } + + /// This is a helper for backends. the type platform_handle is decided by the backend (e.g. HWND, MyWindow*, GLFWwindow* etc.).
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L975.
+ // DEBUG: ImGuiViewport* FindViewportByPlatformHandle(void* platform_handle) + public static ImGuiViewport FindViewportByPlatformHandle(IntPtr platform_handle) + { + var ___ret = Environment.Is64BitProcess ? __Internal64.FindViewportByPlatformHandle(platform_handle) : __Internal32.FindViewportByPlatformHandle(platform_handle); + var __result0 = ImGuiViewport.__GetOrCreateInstance(___ret, false); + return __result0; + } + + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L3221. // DEBUG: static inline int GetKeyIndex(ImGuiKey key) { IM_ASSERT(key >= ImGuiKey_NamedKey_BEGIN && key < ImGuiKey_NamedKey_END && "ImGuiKey and native_index was merged together and native_index is disabled by IMGUI_DISABLE_OBSOLETE_KEYIO. Please switch to ImGuiKey."); return key; } public static int GetKeyIndex(ImGuiKey key) { @@ -23435,7 +25434,7 @@ public static int GetKeyIndex(ImGuiKey key) return ___ret; } - /// Create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L298.
+ /// Create Demo window. demonstrate most ImGui features. call this to learn about the library! try to make it always available in your application!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L304.
// DEBUG: void ShowDemoWindow(bool* p_open = NULL) public static void ShowDemoWindow() { @@ -23443,7 +25442,7 @@ public static void ShowDemoWindow() ShowDemoWindow(ref param0); } - /// Create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L299.
+ /// Create Metrics/Debugger window. display Dear ImGui internals: windows, draw commands, various internal state, etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L305.
// DEBUG: void ShowMetricsWindow(bool* p_open = NULL) public static void ShowMetricsWindow() { @@ -23451,7 +25450,7 @@ public static void ShowMetricsWindow() ShowMetricsWindow(ref param0); } - /// Create Debug Log window. display a simplified log of important dear imgui events.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L300.
+ /// Create Debug Log window. display a simplified log of important dear imgui events.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L306.
// DEBUG: void ShowDebugLogWindow(bool* p_open = NULL) public static void ShowDebugLogWindow() { @@ -23459,7 +25458,7 @@ public static void ShowDebugLogWindow() ShowDebugLogWindow(ref param0); } - /// Create Stack Tool window. hover items with mouse to query information about the source of their unique ID.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L301.
+ /// Create Stack Tool window. hover items with mouse to query information about the source of their unique ID.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L307.
// DEBUG: void ShowStackToolWindow(bool* p_open = NULL) public static void ShowStackToolWindow() { @@ -23467,7 +25466,7 @@ public static void ShowStackToolWindow() ShowStackToolWindow(ref param0); } - /// Create About window. display Dear ImGui version, credits and build/system information.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L302.
+ /// Create About window. display Dear ImGui version, credits and build/system information.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L308.
// DEBUG: void ShowAboutWindow(bool* p_open = NULL) public static void ShowAboutWindow() { @@ -23475,7 +25474,7 @@ public static void ShowAboutWindow() ShowAboutWindow(ref param0); } - /// Windows.
- Begin() = push window to the stack and start appending to it. End() = pop window from the stack.
- Passing 'bool* p_open != NULL' shows a window-closing widget in the upper-right corner of the window,.
Which clicking will set the boolean to false when clicked.
- You may append multiple times to the same window during the same frame by calling Begin()/End() pairs multiple times.
Some information such as 'flags' or 'p_open' will only be considered by the first call to Begin().
- Begin() return false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting.
Anything to the window. Always call a matching End() for each Begin() call, regardless of its return value!
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
- Note that the bottom of window stack always contains a window called "Debug".
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L326.
+ /// Windows.
- Begin() = push window to the stack and start appending to it. End() = pop window from the stack.
- Passing 'bool* p_open != NULL' shows a window-closing widget in the upper-right corner of the window,.
Which clicking will set the boolean to false when clicked.
- You may append multiple times to the same window during the same frame by calling Begin()/End() pairs multiple times.
Some information such as 'flags' or 'p_open' will only be considered by the first call to Begin().
- Begin() return false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting.
Anything to the window. Always call a matching End() for each Begin() call, regardless of its return value!
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
- Note that the bottom of window stack always contains a window called "Debug".
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L332.
// DEBUG: bool Begin(const char* name, bool* p_open = NULL, ImGuiWindowFlags flags = 0) public static bool Begin(string name) { @@ -23483,105 +25482,105 @@ public static bool Begin(string name) return Begin(name, ref param0, 0); } - /// Child Windows.
- Use child windows to begin into a self-contained independent scrolling/clipping regions within a host window. Child windows can embed their own child.
- For each independent axis of 'size': ==0.0f: use remaining host window size / >0.0f: fixed size / <0.0f: use remaining window size minus abs(size) / Each axis can use a different mode, e.g. ImVec2(0,400).
- BeginChild() returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window.
Always call a matching EndChild() for each BeginChild() call, regardless of its return value.
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L337.
+ /// Child Windows.
- Use child windows to begin into a self-contained independent scrolling/clipping regions within a host window. Child windows can embed their own child.
- For each independent axis of 'size': ==0.0f: use remaining host window size / >0.0f: fixed size / <0.0f: use remaining window size minus abs(size) / Each axis can use a different mode, e.g. ImVec2(0,400).
- BeginChild() returns false to indicate the window is collapsed or fully clipped, so you may early out and omit submitting anything to the window.
Always call a matching EndChild() for each BeginChild() call, regardless of its return value.
[Important: due to legacy reason, this is inconsistent with most other functions such as BeginMenu/EndMenu,.
BeginPopup/EndPopup, etc. where the EndXXX call should only be called if the corresponding BeginXXX function.
Returned true. Begin and BeginChild are the only odd ones out. Will be fixed in a future update.].
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L343.
// DEBUG: bool BeginChild(const char* str_id, const ImVec2& size = ImVec2(0, 0), bool border = false, ImGuiWindowFlags flags = 0) public static bool BeginChild(string str_id) { return BeginChild(str_id, new Vector2(0, 0), false, 0); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L338. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L344. // DEBUG: bool BeginChild(ImGuiID id, const ImVec2& size = ImVec2(0, 0), bool border = false, ImGuiWindowFlags flags = 0) public static bool BeginChild(uint id) { return BeginChild(id, new Vector2(0, 0), false, 0); } - /// Set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L355.
+ /// Set next window position. call before Begin(). use pivot=(0.5f,0.5f) to center on given point, etc.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L363.
// DEBUG: void SetNextWindowPos(const ImVec2& pos, ImGuiCond cond = 0, const ImVec2& pivot = ImVec2(0, 0)) public static void SetNextWindowPos(Vector2 pos, ImGuiCond cond = (ImGuiCond)(0)) { SetNextWindowPos(pos, cond, new Vector2(0, 0)); } - /// Button.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L493.
+ /// Button.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L502.
// DEBUG: bool Button(const char* label, const ImVec2& size = ImVec2(0, 0)) public static bool Button(string label) { return Button(label, new Vector2(0, 0)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L497. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L506. // DEBUG: void Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), const ImVec4& tint_col = ImVec4(1,1,1,1), const ImVec4& border_col = ImVec4(0,0,0,0)) public static void Image(IntPtr user_texture_id, Vector2 size) { Image(user_texture_id, size, new Vector2(0, 0), new Vector2(1, 1), new Vector4(1, 1, 1, 1), new Vector4(0, 0, 0, 0)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L497. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L506. // DEBUG: void Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), const ImVec4& tint_col = ImVec4(1,1,1,1), const ImVec4& border_col = ImVec4(0,0,0,0)) public static void Image(IntPtr user_texture_id, Vector2 size, Vector2 uv0) { Image(user_texture_id, size, uv0, new Vector2(1, 1), new Vector4(1, 1, 1, 1), new Vector4(0, 0, 0, 0)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L497. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L506. // DEBUG: void Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), const ImVec4& tint_col = ImVec4(1,1,1,1), const ImVec4& border_col = ImVec4(0,0,0,0)) public static void Image(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vector2 uv1) { Image(user_texture_id, size, uv0, uv1, new Vector4(1, 1, 1, 1), new Vector4(0, 0, 0, 0)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L497. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L506. // DEBUG: void Image(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), const ImVec4& tint_col = ImVec4(1,1,1,1), const ImVec4& border_col = ImVec4(0,0,0,0)) public static void Image(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vector2 uv1, Vector4 tint_col) { Image(user_texture_id, size, uv0, uv1, tint_col, new Vector4(0, 0, 0, 0)); } - /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L498.
+ /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L507.
// DEBUG: bool ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0,0,0,0), const ImVec4& tint_col = ImVec4(1,1,1,1)) public static bool ImageButton(IntPtr user_texture_id, Vector2 size) { return ImageButton(user_texture_id, size, new Vector2(0, 0), new Vector2(1, 1), -1, new Vector4(0, 0, 0, 0), new Vector4(1, 1, 1, 1)); } - /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L498.
+ /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L507.
// DEBUG: bool ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0,0,0,0), const ImVec4& tint_col = ImVec4(1,1,1,1)) public static bool ImageButton(IntPtr user_texture_id, Vector2 size, Vector2 uv0) { return ImageButton(user_texture_id, size, uv0, new Vector2(1, 1), -1, new Vector4(0, 0, 0, 0), new Vector4(1, 1, 1, 1)); } - /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L498.
+ /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L507.
// DEBUG: bool ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0,0,0,0), const ImVec4& tint_col = ImVec4(1,1,1,1)) public static bool ImageButton(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vector2 uv1, int frame_padding = (int)(-1)) { return ImageButton(user_texture_id, size, uv0, uv1, frame_padding, new Vector4(0, 0, 0, 0), new Vector4(1, 1, 1, 1)); } - /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L498.
+ /// <0 frame_padding uses default frame padding settings. 0 for no padding.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L507.
// DEBUG: bool ImageButton(ImTextureID user_texture_id, const ImVec2& size, const ImVec2& uv0 = ImVec2(0, 0), const ImVec2& uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4& bg_col = ImVec4(0,0,0,0), const ImVec4& tint_col = ImVec4(1,1,1,1)) public static bool ImageButton(IntPtr user_texture_id, Vector2 size, Vector2 uv0, Vector2 uv1, int frame_padding, Vector4 bg_col) { return ImageButton(user_texture_id, size, uv0, uv1, frame_padding, bg_col, new Vector4(1, 1, 1, 1)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L504. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L513. // DEBUG: void ProgressBar(float fraction, const ImVec2& size_arg = ImVec2(-FLT_MIN, 0), const char* overlay = NULL) public static void ProgressBar(float fraction) { ProgressBar(fraction, new Vector2(-1.17549435E-38F, 0), default); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L566. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L575. // DEBUG: bool InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0, 0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = NULL, void* user_data = NULL) public static bool InputTextMultiline(string label, char* buf, UIntPtr buf_size) { return InputTextMultiline(label, buf, buf_size, new Vector2(0, 0), 0, null, default); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L586. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L595. // DEBUG: bool ColorPicker4(const char* label, float col[4], ImGuiColorEditFlags flags = 0, const float* ref_col = NULL) public static bool ColorPicker4(string label, Span col, ImGuiColorEditFlags flags = (ImGuiColorEditFlags)(0)) { @@ -23589,63 +25588,63 @@ public static bool ColorPicker4(string label, Span col, ImGuiColorEditFla return ColorPicker4(label, col, flags, ref param0); } - /// Display a color square/button, hover for details, return true when pressed.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L587.
+ /// Display a color square/button, hover for details, return true when pressed.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L596.
// DEBUG: bool ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFlags flags = 0, const ImVec2& size = ImVec2(0, 0)) public static bool ColorButton(string desc_id, Vector4 col, ImGuiColorEditFlags flags = (ImGuiColorEditFlags)(0)) { return ColorButton(desc_id, col, flags, new Vector2(0, 0)); } - /// "bool selected" carry the selection state (read-only). Selectable() is clicked is returns true so you can modify your selection state. size.x==0.0: use remaining width, size.x>0.0: specify width. size.y==0.0: use label height, size.y>0.0: specify height.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L613.
+ /// "bool selected" carry the selection state (read-only). Selectable() is clicked is returns true so you can modify your selection state. size.x==0.0: use remaining width, size.x>0.0: specify width. size.y==0.0: use label height, size.y>0.0: specify height.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L622.
// DEBUG: bool Selectable(const char* label, bool selected = false, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0)) public static bool Selectable(string label, bool selected = false, ImGuiSelectableFlags flags = (ImGuiSelectableFlags)(0)) { return Selectable(label, selected, flags, new Vector2(0, 0)); } - /// "bool* p_selected" point to the selection state (read-write), as a convenient helper.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L614.
+ /// "bool* p_selected" point to the selection state (read-write), as a convenient helper.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L623.
// DEBUG: bool Selectable(const char* label, bool* p_selected, ImGuiSelectableFlags flags = 0, const ImVec2& size = ImVec2(0, 0)) public static bool Selectable(string label, ref bool p_selected, ImGuiSelectableFlags flags = (ImGuiSelectableFlags)(0)) { return Selectable(label, ref p_selected, flags, new Vector2(0, 0)); } - /// Open a framed scrolling region.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L622.
+ /// Open a framed scrolling region.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L631.
// DEBUG: bool BeginListBox(const char* label, const ImVec2& size = ImVec2(0, 0)) public static bool BeginListBox(string label) { return BeginListBox(label, new Vector2(0, 0)); } - /// Widgets: Data Plotting.
- Consider using ImPlot (https://github.com/epezent/implot) which is much better!
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L629.
+ /// Widgets: Data Plotting.
- Consider using ImPlot (https://github.com/epezent/implot) which is much better!
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L638.
// DEBUG: void PlotLines(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float)) public static void PlotLines(string label, ref float values, int values_count, int values_offset = (int)(0), string overlay_text = default, float scale_min = 3.40282347E+38F, float scale_max = 3.40282347E+38F) { PlotLines(label, ref values, values_count, values_offset, overlay_text, scale_min, scale_max, new Vector2(0, 0), sizeof(float)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L630. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L639. // DEBUG: void PlotLines(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0)) public static void PlotLines(string label, ImValuesGetterHandler values_getter, IntPtr data, int values_count, int values_offset = (int)(0), string overlay_text = default, float scale_min = 3.40282347E+38F, float scale_max = 3.40282347E+38F) { PlotLines(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, new Vector2(0, 0)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L631. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L640. // DEBUG: void PlotHistogram(const char* label, const float* values, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0), int stride = sizeof(float)) public static void PlotHistogram(string label, ref float values, int values_count, int values_offset = (int)(0), string overlay_text = default, float scale_min = 3.40282347E+38F, float scale_max = 3.40282347E+38F) { PlotHistogram(label, ref values, values_count, values_offset, overlay_text, scale_min, scale_max, new Vector2(0, 0), sizeof(float)); } - /// https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L632. + /// https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L641. // DEBUG: void PlotHistogram(const char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset = 0, const char* overlay_text = NULL, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0, 0)) public static void PlotHistogram(string label, ImValuesGetterHandler values_getter, IntPtr data, int values_count, int values_offset = (int)(0), string overlay_text = default, float scale_min = 3.40282347E+38F, float scale_max = 3.40282347E+38F) { PlotHistogram(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, new Vector2(0, 0)); } - /// Return true if the modal is open, and you can start outputting to it.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L675.
+ /// Return true if the modal is open, and you can start outputting to it.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L684.
// DEBUG: bool BeginPopupModal(const char* name, bool* p_open = NULL, ImGuiWindowFlags flags = 0) public static bool BeginPopupModal(string name) { @@ -23653,14 +25652,14 @@ public static bool BeginPopupModal(string name) return BeginPopupModal(name, ref param0, 0); } - /// Tables.
- Full-featured replacement for old Columns API.
- See Demo->Tables for demo code. See top of imgui_tables.cpp for general commentary.
- See ImGuiTableFlags_ and ImGuiTableColumnFlags_ enums for a description of available flags.
The typical call flow is:.
- 1. Call BeginTable(), early out if returning false.
- 2. Optionally call TableSetupColumn() to submit column name/flags/defaults.
- 3. Optionally call TableSetupScrollFreeze() to request scroll freezing of columns/rows.
- 4. Optionally call TableHeadersRow() to submit a header row. Names are pulled from TableSetupColumn() data.
- 5. Populate contents:.
- In most situations you can use TableNextRow() + TableSetColumnIndex(N) to start appending into a column.
- If you are using tables as a sort of grid, where every columns is holding the same type of contents,.
You may prefer using TableNextColumn() instead of TableNextRow() + TableSetColumnIndex().
TableNextColumn() will automatically wrap-around into the next row if needed.
- IMPORTANT: Comparatively to the old Columns() API, we need to call TableNextColumn() for the first column!
- Summary of possible call flow:.
--------------------------------------------------------------------------------------------------------.
TableNextRow() -> TableSetColumnIndex(0) -> Text("Hello 0") -> TableSetColumnIndex(1) -> Text("Hello 1"), // OK.
TableNextRow() -> TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK.
TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK: TableNextColumn() automatically gets to next row!
TableNextRow(), -> Text("Hello 0"), // Not OK! Missing TableSetColumnIndex() or TableNextColumn()! Text will not appear!
--------------------------------------------------------------------------------------------------------.
- 5. Call EndTable().
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L729.
+ /// Tables.
- Full-featured replacement for old Columns API.
- See Demo->Tables for demo code. See top of imgui_tables.cpp for general commentary.
- See ImGuiTableFlags_ and ImGuiTableColumnFlags_ enums for a description of available flags.
The typical call flow is:.
- 1. Call BeginTable(), early out if returning false.
- 2. Optionally call TableSetupColumn() to submit column name/flags/defaults.
- 3. Optionally call TableSetupScrollFreeze() to request scroll freezing of columns/rows.
- 4. Optionally call TableHeadersRow() to submit a header row. Names are pulled from TableSetupColumn() data.
- 5. Populate contents:.
- In most situations you can use TableNextRow() + TableSetColumnIndex(N) to start appending into a column.
- If you are using tables as a sort of grid, where every columns is holding the same type of contents,.
You may prefer using TableNextColumn() instead of TableNextRow() + TableSetColumnIndex().
TableNextColumn() will automatically wrap-around into the next row if needed.
- IMPORTANT: Comparatively to the old Columns() API, we need to call TableNextColumn() for the first column!
- Summary of possible call flow:.
--------------------------------------------------------------------------------------------------------.
TableNextRow() -> TableSetColumnIndex(0) -> Text("Hello 0") -> TableSetColumnIndex(1) -> Text("Hello 1"), // OK.
TableNextRow() -> TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK.
TableNextColumn(), -> Text("Hello 0") -> TableNextColumn(), -> Text("Hello 1"), // OK: TableNextColumn() automatically gets to next row!
TableNextRow(), -> Text("Hello 0"), // Not OK! Missing TableSetColumnIndex() or TableNextColumn()! Text will not appear!
--------------------------------------------------------------------------------------------------------.
- 5. Call EndTable().
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L738.
// DEBUG: bool BeginTable(const char* str_id, int column, ImGuiTableFlags flags = 0, const ImVec2& outer_size = ImVec2(0.0f, 0.0f), float inner_width = 0.0f) public static bool BeginTable(string str_id, int column, ImGuiTableFlags flags = (ImGuiTableFlags)(0)) { return BeginTable(str_id, column, flags, new Vector2(0.0F, 0.0F), 0.0F); } - /// Create a Tab. Returns true if the Tab is selected.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L777.
+ /// Create a Tab. Returns true if the Tab is selected.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L787.
// DEBUG: bool BeginTabItem(const char* label, bool* p_open = NULL, ImGuiTabItemFlags flags = 0) public static bool BeginTabItem(string label) { @@ -23668,7 +25667,14 @@ public static bool BeginTabItem(string label) return BeginTabItem(label, ref param0, 0); } - /// Return a zero-terminated string with the .ini data which you can save by your own mean. call when io.WantSaveIniSettings is set, then save data by your own mean and clear io.WantSaveIniSettings.
https://github.com/ocornut/imgui/blob/9aae45eb4a05a5a1f96be1ef37eb503a12ceb889/imgui.h#L920.
+ /// Docking.
[BETA API] Enable with io.ConfigFlags |= ImGuiConfigFlags_DockingEnable.
Note: You can use most Docking facilities without calling any API. You DO NOT need to call DockSpace() to use Docking!
- Drag from window title bar or their tab to dock/undock. Hold SHIFT to disable docking/undocking.
- Drag from window menu button (upper-left button) to undock an entire node (all windows).
- When io.ConfigDockingWithShift == true, you instead need to hold SHIFT to _enable_ docking/undocking.
About dockspaces:.
- Use DockSpace() to create an explicit dock node _within_ an existing window. See Docking demo for details.
- Use DockSpaceOverViewport() to create an explicit dock node covering the screen or a specific viewport.
This is often used with ImGuiDockNodeFlags_PassthruCentralNode.
- Important: Dockspaces need to be submitted _before_ any window they can host. Submit it early in your frame!
- Important: Dockspaces need to be kept alive if hidden, otherwise windows docked into it will be undocked.
E.g. if you have multiple tabs with a dockspace inside each tab: submit the non-visible dockspaces with ImGuiDockNodeFlags_KeepAliveOnly.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L805.
+ // DEBUG: ImGuiID DockSpace(ImGuiID id, const ImVec2& size = ImVec2(0, 0), ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL) + public static uint DockSpace(uint id) + { + return DockSpace(id, new Vector2(0, 0), 0, default); + } + + /// Return a zero-terminated string with the .ini data which you can save by your own mean. call when io.WantSaveIniSettings is set, then save data by your own mean and clear io.WantSaveIniSettings.
https://github.com/ocornut/imgui/blob/9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6/imgui.h#L952.
// DEBUG: const char* SaveIniSettingsToMemory(size_t* out_ini_size = NULL) public static string SaveIniSettingsToMemory() { diff --git a/DearImGui/ImGuiIO.cs b/DearImGui/ImGuiIO.cs index 6e53670..12adab4 100644 --- a/DearImGui/ImGuiIO.cs +++ b/DearImGui/ImGuiIO.cs @@ -38,4 +38,31 @@ public Vector2[] MouseClickedPos } } } + + public Vector2[] MouseDragMaxDistanceAbs + { + get + { + var value = new Vector2[5]; + + unsafe + { + Marshalling.Copy(ref value, ((__Internal*)__Instance)->MouseDragMaxDistanceAbs); + } + + return value; + } + + set + { + ArgumentNullException.ThrowIfNull(value); + + unsafe + { + Marshalling.Copy(((__Internal*)__Instance)->MouseDragMaxDistanceAbs, ref value); + } + } + } + + } \ No newline at end of file diff --git a/DearImPlot/ImPlot.g.cs b/DearImPlot/ImPlot.g.cs index 4c7f820..649ee91 100644 --- a/DearImPlot/ImPlot.g.cs +++ b/DearImPlot/ImPlot.g.cs @@ -28,6 +28,8 @@ using ImS64 = System.Int64; using ImU64 = System.UInt64; +#pragma warning disable CS0109 // Member does not hide an inherited member; new keyword is not required + namespace DearImPlot { /// Axis indices. The values assigned may change; NEVER hardcode these.
https://github.com/epezent/implot/blob/15e494b76a78b44ae2c1b76608ff9bc39a661409/implot.h#L116.
@@ -991,6 +993,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImPlotCon private protected bool __ownsNativeInstance; internal static ImPlotContext __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImPlotContext(native.ToPointer(), skipVTables); } @@ -1799,6 +1803,8 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out ImPlotSty private protected bool __ownsNativeInstance; internal static ImPlotStyle __CreateInstance(IntPtr native, bool skipVTables = false) { + if (native == IntPtr.Zero) + return null; return new ImPlotStyle(native.ToPointer(), skipVTables); } diff --git a/SampleApplication.OpenTK/MyGameWindow.cs b/SampleApplication.OpenTK/MyGameWindow.cs index fe9c001..2fa9210 100644 --- a/SampleApplication.OpenTK/MyGameWindow.cs +++ b/SampleApplication.OpenTK/MyGameWindow.cs @@ -30,6 +30,8 @@ internal sealed class MyGameWindow : GameWindowBaseWithDebugContext private bool ShowImPlotDemo = true; + private bool ShowDockingDemo = true; + public MyGameWindow(GameWindowSettings gameWindowSettings, NativeWindowSettings nativeWindowSettings) : base(gameWindowSettings, nativeWindowSettings) { @@ -67,6 +69,12 @@ protected override void OnRenderFrame(FrameEventArgs args) ImGui.SetNextWindowSize(new Vector2(800, 500), ImGuiCond.Once); + if (ShowDockingDemo) + { + DrawDockSpaceOptionsBar(ref ShowDockingDemo); + } + + if (ImGui.Begin("Hello, world!")) { if (ImPlot.BeginPlot("Sample plot")) @@ -85,8 +93,9 @@ protected override void OnRenderFrame(FrameEventArgs args) ImGui.ColorEdit4("Color 1", Color1.AsSpan(), ImGuiColorEditFlags.NoInputs); ImGui.ColorEdit4("Color 2", Color2.AsSpan(), ImGuiColorEditFlags.NoInputs); - ImGui.Checkbox("Show ImGui Demo", ref ShowImGuiDemo); + ImGui.Checkbox("Show ImGui Demo", ref ShowImGuiDemo); ImGui.Checkbox("Show ImPlot Demo", ref ShowImPlotDemo); + ImGui.Checkbox("Show Docking Demo", ref ShowDockingDemo); } ImGui.End(); @@ -115,6 +124,67 @@ protected override void OnResize(ResizeEventArgs e) GL.Viewport(0, 0, e.Width, e.Height); } + #region SampleDocking + + private ImGuiDockNodeFlags dockspace_flags = ImGuiDockNodeFlags.None; + + void DrawDockSpaceOptionsBar(ref bool p_open) + { + ImGui.DockSpaceOverViewport(ImGui.GetMainViewport(), dockspace_flags); + if (ImGui.BeginMainMenuBar()) + { + if (ImGui.BeginMenu("Options")) + { + if (ImGui.MenuItem("Enable Docking", "IO.ConfigFlags.DockingEnable", ImGui.GetIO().ConfigFlags.HasFlag(ImGuiConfigFlags.DockingEnable))) { + ImGui.GetIO().ConfigFlags ^= ImGuiConfigFlags.DockingEnable; + } + + ImGui.Separator(); + + if (ImGui.MenuItem("Require Shift For Docking", "IO.ConfigDockingWithShift", + ImGui.GetIO().ConfigDockingWithShift)) { ImGui.GetIO().ConfigDockingWithShift = !ImGui.GetIO().ConfigDockingWithShift; } + + ImGui.Separator(); + + if (ImGui.MenuItem("Flag: NoSplit", "", (dockspace_flags & ImGuiDockNodeFlags.NoSplit) != 0)) { dockspace_flags ^= ImGuiDockNodeFlags.NoSplit; } + if (ImGui.MenuItem("Flag: NoResize", "", (dockspace_flags & ImGuiDockNodeFlags.NoResize) != 0)) { dockspace_flags ^= ImGuiDockNodeFlags.NoResize; } + if (ImGui.MenuItem("Flag: NoDockingInCentralNode", "", (dockspace_flags & ImGuiDockNodeFlags.NoDockingInCentralNode) != 0)) { dockspace_flags ^= ImGuiDockNodeFlags.NoDockingInCentralNode; } + if (ImGui.MenuItem("Flag: AutoHideTabBar", "", (dockspace_flags & ImGuiDockNodeFlags.AutoHideTabBar) != 0)) { dockspace_flags ^= ImGuiDockNodeFlags.AutoHideTabBar; } + if (ImGui.MenuItem("Flag: PassthruCentralNode", "", (dockspace_flags & ImGuiDockNodeFlags.PassthruCentralNode) != 0)) { dockspace_flags ^= ImGuiDockNodeFlags.PassthruCentralNode; } + ImGui.EndMenu(); + } + HelpMarker( + @"When docking is enabled, you can ALWAYS dock MOST window into another! Try it now! + +- Drag from window title bar or their tab to dock/undock. + +- Drag from window menu button (upper-left button) to undock an entire node (all windows). + +- Hold SHIFT to disable docking (if io.ConfigDockingWithShift == false, default) + +- Hold SHIFT to enable docking (if io.ConfigDockingWithShift == true)"); + + ImGui.EndMainMenuBar(); + } + + static void HelpMarker(string desc) + { + ImGui.TextDisabled("(?)"); + if (ImGui.IsItemHovered()) + { + ImGui.BeginTooltip(); + ImGui.PushTextWrapPos(ImGui.GetFontSize() * 35.0f); + ImGui.TextUnformatted(desc); + ImGui.PopTextWrapPos(); + ImGui.EndTooltip(); + } + } + } + + + + #endregion + #region SampleExtraFont private bool? SampleExtraFontFlag; diff --git a/imgui/imgui b/imgui/imgui index 9aae45e..9cd9c2e 160000 --- a/imgui/imgui +++ b/imgui/imgui @@ -1 +1 @@ -Subproject commit 9aae45eb4a05a5a1f96be1ef37eb503a12ceb889 +Subproject commit 9cd9c2eff99877a3f10a7f9c2a3a5b9c15ea36c6