Update to 1.67.

internals
Eric Mellino 6 years ago
parent c4842e4609
commit 7f3739a64e
  1. BIN
      deps/cimgui/linux-x64/cimgui.so
  2. BIN
      deps/cimgui/osx-x64/cimgui.dylib
  3. BIN
      deps/cimgui/win-x64/cimgui.dll
  4. BIN
      deps/cimgui/win-x86/cimgui.dll
  5. 20605
      src/CodeGenerator/definitions.json
  6. 2829
      src/CodeGenerator/structs_and_enums.json
  7. 71
      src/ImGui.NET.SampleProgram/Program.cs
  8. 1
      src/ImGui.NET/Generated/ImDrawListFlags.gen.cs
  9. 30
      src/ImGui.NET/Generated/ImFontGlyphRangesBuilder.gen.cs
  10. 413
      src/ImGui.NET/Generated/ImGui.gen.cs
  11. 1
      src/ImGui.NET/Generated/ImGuiBackendFlags.gen.cs
  12. 27
      src/ImGui.NET/Generated/ImGuiCol.gen.cs
  13. 1
      src/ImGui.NET/Generated/ImGuiConfigFlags.gen.cs
  14. 50
      src/ImGui.NET/Generated/ImGuiIO.gen.cs
  15. 80
      src/ImGui.NET/Generated/ImGuiNative.gen.cs
  16. 11
      src/ImGui.NET/Generated/ImGuiStyle.gen.cs
  17. 5
      src/ImGui.NET/Generated/ImGuiStyleVar.gen.cs
  18. 18
      src/ImGui.NET/Generated/ImGuiTabBarFlags.gen.cs
  19. 12
      src/ImGui.NET/Generated/ImGuiTabItemFlags.gen.cs
  20. 1
      src/ImGui.NET/Generated/ImGuiWindowFlags.gen.cs
  21. 5
      src/ImGui.NET/ImGui.NET.csproj

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -26,6 +26,8 @@ namespace ImGuiNET
private static bool _showAnotherWindow = false;
private static bool _showMemoryEditor = false;
private static byte[] _memoryEditorData;
private static uint s_tab_bar_flags = (uint)ImGuiTabBarFlags.Reorderable;
static bool[] s_opened = { true, true, true, true }; // Persistent user state
static void SetThing(out float i, float val) { i = val; }
@ -120,6 +122,75 @@ namespace ImGuiNET
ImGui.ShowDemoWindow(ref _showDemoWindow);
}
if (ImGui.TreeNode("Tabs"))
{
if (ImGui.TreeNode("Basic"))
{
ImGuiTabBarFlags tab_bar_flags = ImGuiTabBarFlags.None;
if (ImGui.BeginTabBar("MyTabBar", tab_bar_flags))
{
if (ImGui.BeginTabItem("Avocado"))
{
ImGui.Text("This is the Avocado tab!\nblah blah blah blah blah");
ImGui.EndTabItem();
}
if (ImGui.BeginTabItem("Broccoli"))
{
ImGui.Text("This is the Broccoli tab!\nblah blah blah blah blah");
ImGui.EndTabItem();
}
if (ImGui.BeginTabItem("Cucumber"))
{
ImGui.Text("This is the Cucumber tab!\nblah blah blah blah blah");
ImGui.EndTabItem();
}
ImGui.EndTabBar();
}
ImGui.Separator();
ImGui.TreePop();
}
if (ImGui.TreeNode("Advanced & Close Button"))
{
// Expose a couple of the available flags. In most cases you may just call BeginTabBar() with no flags (0).
ImGui.CheckboxFlags("ImGuiTabBarFlags_Reorderable", ref s_tab_bar_flags, (uint)ImGuiTabBarFlags.Reorderable);
ImGui.CheckboxFlags("ImGuiTabBarFlags_AutoSelectNewTabs", ref s_tab_bar_flags, (uint)ImGuiTabBarFlags.AutoSelectNewTabs);
ImGui.CheckboxFlags("ImGuiTabBarFlags_NoCloseWithMiddleMouseButton", ref s_tab_bar_flags, (uint)ImGuiTabBarFlags.NoCloseWithMiddleMouseButton);
if ((s_tab_bar_flags & (uint)ImGuiTabBarFlags.FittingPolicyMask) == 0)
s_tab_bar_flags |= (uint)ImGuiTabBarFlags.FittingPolicyDefault;
if (ImGui.CheckboxFlags("ImGuiTabBarFlags_FittingPolicyResizeDown", ref s_tab_bar_flags, (uint)ImGuiTabBarFlags.FittingPolicyResizeDown))
s_tab_bar_flags &= ~((uint)ImGuiTabBarFlags.FittingPolicyMask ^ (uint)ImGuiTabBarFlags.FittingPolicyResizeDown);
if (ImGui.CheckboxFlags("ImGuiTabBarFlags_FittingPolicyScroll", ref s_tab_bar_flags, (uint)ImGuiTabBarFlags.FittingPolicyScroll))
s_tab_bar_flags &= ~((uint)ImGuiTabBarFlags.FittingPolicyMask ^ (uint)ImGuiTabBarFlags.FittingPolicyScroll);
// Tab Bar
string[] names = { "Artichoke", "Beetroot", "Celery", "Daikon" };
for (int n = 0; n < s_opened.Length; n++)
{
if (n > 0) { ImGui.SameLine(); }
ImGui.Checkbox(names[n], ref s_opened[n]);
}
// Passing a bool* to BeginTabItem() is similar to passing one to Begin(): the underlying bool will be set to false when the tab is closed.
if (ImGui.BeginTabBar("MyTabBar", (ImGuiTabBarFlags)s_tab_bar_flags))
{
for (int n = 0; n < s_opened.Length; n++)
if (s_opened[n] && ImGui.BeginTabItem(names[n], ref s_opened[n]))
{
ImGui.Text($"This is the {names[n]} tab!");
if ((n & 1) != 0)
ImGui.Text("I am an odd tab.");
ImGui.EndTabItem();
}
ImGui.EndTabBar();
}
ImGui.Separator();
ImGui.TreePop();
}
ImGui.TreePop();
}
ImGuiIOPtr io = ImGui.GetIO();
SetThing(out io.DeltaTime, 2f);

@ -3,6 +3,7 @@ namespace ImGuiNET
[System.Flags]
public enum ImDrawListFlags
{
None = 0,
AntiAliasedLines = 1 << 0,
AntiAliasedFill = 1 << 1,
}

@ -5,27 +5,27 @@ using System.Text;
namespace ImGuiNET
{
public unsafe partial struct GlyphRangesBuilder
public unsafe partial struct ImFontGlyphRangesBuilder
{
public ImVector UsedChars;
}
public unsafe partial struct GlyphRangesBuilderPtr
public unsafe partial struct ImFontGlyphRangesBuilderPtr
{
public GlyphRangesBuilder* NativePtr { get; }
public GlyphRangesBuilderPtr(GlyphRangesBuilder* nativePtr) => NativePtr = nativePtr;
public GlyphRangesBuilderPtr(IntPtr nativePtr) => NativePtr = (GlyphRangesBuilder*)nativePtr;
public static implicit operator GlyphRangesBuilderPtr(GlyphRangesBuilder* nativePtr) => new GlyphRangesBuilderPtr(nativePtr);
public static implicit operator GlyphRangesBuilder* (GlyphRangesBuilderPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator GlyphRangesBuilderPtr(IntPtr nativePtr) => new GlyphRangesBuilderPtr(nativePtr);
public ImVector<byte> UsedChars => new ImVector<byte>(NativePtr->UsedChars);
public ImFontGlyphRangesBuilder* NativePtr { get; }
public ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* nativePtr) => NativePtr = nativePtr;
public ImFontGlyphRangesBuilderPtr(IntPtr nativePtr) => NativePtr = (ImFontGlyphRangesBuilder*)nativePtr;
public static implicit operator ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* nativePtr) => new ImFontGlyphRangesBuilderPtr(nativePtr);
public static implicit operator ImFontGlyphRangesBuilder* (ImFontGlyphRangesBuilderPtr wrappedPtr) => wrappedPtr.NativePtr;
public static implicit operator ImFontGlyphRangesBuilderPtr(IntPtr nativePtr) => new ImFontGlyphRangesBuilderPtr(nativePtr);
public ImVector<int> UsedChars => new ImVector<int>(NativePtr->UsedChars);
public void AddChar(ushort c)
{
ImGuiNative.GlyphRangesBuilder_AddChar(NativePtr, c);
ImGuiNative.ImFontGlyphRangesBuilder_AddChar(NativePtr, c);
}
public void AddRanges(IntPtr ranges)
{
ushort* native_ranges = (ushort*)ranges.ToPointer();
ImGuiNative.GlyphRangesBuilder_AddRanges(NativePtr, native_ranges);
ImGuiNative.ImFontGlyphRangesBuilder_AddRanges(NativePtr, native_ranges);
}
public void AddText(string text)
{
@ -48,7 +48,7 @@ namespace ImGuiNET
}
else { native_text = null; }
byte* native_text_end = null;
ImGuiNative.GlyphRangesBuilder_AddText(NativePtr, native_text, native_text_end);
ImGuiNative.ImFontGlyphRangesBuilder_AddText(NativePtr, native_text, native_text_end);
if (text_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_text);
@ -58,17 +58,17 @@ namespace ImGuiNET
{
fixed (ImVector* native_out_ranges = &out_ranges)
{
ImGuiNative.GlyphRangesBuilder_BuildRanges(NativePtr, native_out_ranges);
ImGuiNative.ImFontGlyphRangesBuilder_BuildRanges(NativePtr, native_out_ranges);
}
}
public bool GetBit(int n)
{
byte ret = ImGuiNative.GlyphRangesBuilder_GetBit(NativePtr, n);
byte ret = ImGuiNative.ImFontGlyphRangesBuilder_GetBit(NativePtr, n);
return ret != 0;
}
public void SetBit(int n)
{
ImGuiNative.GlyphRangesBuilder_SetBit(NativePtr, n);
ImGuiNative.ImFontGlyphRangesBuilder_SetBit(NativePtr, n);
}
}
}

@ -885,6 +885,151 @@ namespace ImGuiNET
p_open = native_p_open_val != 0;
return ret != 0;
}
public static bool BeginTabBar(string str_id)
{
byte* native_str_id;
int str_id_byteCount = 0;
if (str_id != null)
{
str_id_byteCount = Encoding.UTF8.GetByteCount(str_id);
if (str_id_byteCount > Util.StackAllocationSizeLimit)
{
native_str_id = Util.Allocate(str_id_byteCount + 1);
}
else
{
byte* native_str_id_stackBytes = stackalloc byte[str_id_byteCount + 1];
native_str_id = native_str_id_stackBytes;
}
int native_str_id_offset = Util.GetUtf8(str_id, native_str_id, str_id_byteCount);
native_str_id[native_str_id_offset] = 0;
}
else { native_str_id = null; }
ImGuiTabBarFlags flags = 0;
byte ret = ImGuiNative.igBeginTabBar(native_str_id, flags);
if (str_id_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_str_id);
}
return ret != 0;
}
public static bool BeginTabBar(string str_id, ImGuiTabBarFlags flags)
{
byte* native_str_id;
int str_id_byteCount = 0;
if (str_id != null)
{
str_id_byteCount = Encoding.UTF8.GetByteCount(str_id);
if (str_id_byteCount > Util.StackAllocationSizeLimit)
{
native_str_id = Util.Allocate(str_id_byteCount + 1);
}
else
{
byte* native_str_id_stackBytes = stackalloc byte[str_id_byteCount + 1];
native_str_id = native_str_id_stackBytes;
}
int native_str_id_offset = Util.GetUtf8(str_id, native_str_id, str_id_byteCount);
native_str_id[native_str_id_offset] = 0;
}
else { native_str_id = null; }
byte ret = ImGuiNative.igBeginTabBar(native_str_id, flags);
if (str_id_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_str_id);
}
return ret != 0;
}
public static bool BeginTabItem(string label)
{
byte* native_label;
int label_byteCount = 0;
if (label != null)
{
label_byteCount = Encoding.UTF8.GetByteCount(label);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
native_label = Util.Allocate(label_byteCount + 1);
}
else
{
byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1];
native_label = native_label_stackBytes;
}
int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount);
native_label[native_label_offset] = 0;
}
else { native_label = null; }
byte* p_open = null;
ImGuiTabItemFlags flags = 0;
byte ret = ImGuiNative.igBeginTabItem(native_label, p_open, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
}
return ret != 0;
}
public static bool BeginTabItem(string label, ref bool p_open)
{
byte* native_label;
int label_byteCount = 0;
if (label != null)
{
label_byteCount = Encoding.UTF8.GetByteCount(label);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
native_label = Util.Allocate(label_byteCount + 1);
}
else
{
byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1];
native_label = native_label_stackBytes;
}
int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount);
native_label[native_label_offset] = 0;
}
else { native_label = null; }
byte native_p_open_val = p_open ? (byte)1 : (byte)0;
byte* native_p_open = &native_p_open_val;
ImGuiTabItemFlags flags = 0;
byte ret = ImGuiNative.igBeginTabItem(native_label, native_p_open, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
}
p_open = native_p_open_val != 0;
return ret != 0;
}
public static bool BeginTabItem(string label, ref bool p_open, ImGuiTabItemFlags flags)
{
byte* native_label;
int label_byteCount = 0;
if (label != null)
{
label_byteCount = Encoding.UTF8.GetByteCount(label);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
native_label = Util.Allocate(label_byteCount + 1);
}
else
{
byte* native_label_stackBytes = stackalloc byte[label_byteCount + 1];
native_label = native_label_stackBytes;
}
int native_label_offset = Util.GetUtf8(label, native_label, label_byteCount);
native_label[native_label_offset] = 0;
}
else { native_label = null; }
byte native_p_open_val = p_open ? (byte)1 : (byte)0;
byte* native_p_open = &native_p_open_val;
byte ret = ImGuiNative.igBeginTabItem(native_label, native_p_open, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
}
p_open = native_p_open_val != 0;
return ret != 0;
}
public static void BeginTooltip()
{
ImGuiNative.igBeginTooltip();
@ -1011,23 +1156,23 @@ namespace ImGuiNET
}
public static void CaptureKeyboardFromApp()
{
byte capture = 1;
ImGuiNative.igCaptureKeyboardFromApp(capture);
byte want_capture_keyboard_value = 1;
ImGuiNative.igCaptureKeyboardFromApp(want_capture_keyboard_value);
}
public static void CaptureKeyboardFromApp(bool capture)
public static void CaptureKeyboardFromApp(bool want_capture_keyboard_value)
{
byte native_capture = capture ? (byte)1 : (byte)0;
ImGuiNative.igCaptureKeyboardFromApp(native_capture);
byte native_want_capture_keyboard_value = want_capture_keyboard_value ? (byte)1 : (byte)0;
ImGuiNative.igCaptureKeyboardFromApp(native_want_capture_keyboard_value);
}
public static void CaptureMouseFromApp()
{
byte capture = 1;
ImGuiNative.igCaptureMouseFromApp(capture);
byte want_capture_mouse_value = 1;
ImGuiNative.igCaptureMouseFromApp(want_capture_mouse_value);
}
public static void CaptureMouseFromApp(bool capture)
public static void CaptureMouseFromApp(bool want_capture_mouse_value)
{
byte native_capture = capture ? (byte)1 : (byte)0;
ImGuiNative.igCaptureMouseFromApp(native_capture);
byte native_want_capture_mouse_value = want_capture_mouse_value ? (byte)1 : (byte)0;
ImGuiNative.igCaptureMouseFromApp(native_want_capture_mouse_value);
}
public static bool Checkbox(string label, ref bool v)
{
@ -5402,6 +5547,14 @@ namespace ImGuiNET
{
ImGuiNative.igEndPopup();
}
public static void EndTabBar()
{
ImGuiNative.igEndTabBar();
}
public static void EndTabItem()
{
ImGuiNative.igEndTabItem();
}
public static void EndTooltip()
{
ImGuiNative.igEndTooltip();
@ -5864,8 +6017,8 @@ namespace ImGuiNET
native_label[native_label_offset] = 0;
}
else { native_label = null; }
double step = 0.0f;
double step_fast = 0.0f;
double step = 0.0;
double step_fast = 0.0;
byte* native_format;
int format_byteCount = 0;
format_byteCount = Encoding.UTF8.GetByteCount("%.6f");
@ -5880,10 +6033,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.6f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (double* native_v = &v)
{
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -5915,7 +6068,7 @@ namespace ImGuiNET
native_label[native_label_offset] = 0;
}
else { native_label = null; }
double step_fast = 0.0f;
double step_fast = 0.0;
byte* native_format;
int format_byteCount = 0;
format_byteCount = Encoding.UTF8.GetByteCount("%.6f");
@ -5930,10 +6083,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.6f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (double* native_v = &v)
{
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -5979,10 +6132,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.6f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (double* native_v = &v)
{
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6032,10 +6185,10 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (double* native_v = &v)
{
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6047,7 +6200,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputDouble(string label, ref double v, double step, double step_fast, string format, ImGuiInputTextFlags extra_flags)
public static bool InputDouble(string label, ref double v, double step, double step_fast, string format, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -6087,7 +6240,7 @@ namespace ImGuiNET
else { native_format = null; }
fixed (double* native_v = &v)
{
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputDouble(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6135,10 +6288,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.3f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (float* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6185,10 +6338,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.3f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (float* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6234,10 +6387,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.3f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (float* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6287,10 +6440,10 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (float* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6302,7 +6455,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputFloat(string label, ref float v, float step, float step_fast, string format, ImGuiInputTextFlags extra_flags)
public static bool InputFloat(string label, ref float v, float step, float step_fast, string format, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -6342,7 +6495,7 @@ namespace ImGuiNET
else { native_format = null; }
fixed (float* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat(native_label, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6388,10 +6541,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.3f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (Vector2* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat2(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat2(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6441,10 +6594,10 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (Vector2* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat2(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat2(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6456,7 +6609,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputFloat2(string label, ref Vector2 v, string format, ImGuiInputTextFlags extra_flags)
public static bool InputFloat2(string label, ref Vector2 v, string format, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -6496,7 +6649,7 @@ namespace ImGuiNET
else { native_format = null; }
fixed (Vector2* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat2(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat2(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6542,10 +6695,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.3f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (Vector3* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat3(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat3(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6595,10 +6748,10 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (Vector3* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat3(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat3(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6610,7 +6763,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputFloat3(string label, ref Vector3 v, string format, ImGuiInputTextFlags extra_flags)
public static bool InputFloat3(string label, ref Vector3 v, string format, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -6650,7 +6803,7 @@ namespace ImGuiNET
else { native_format = null; }
fixed (Vector3* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat3(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat3(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6696,10 +6849,10 @@ namespace ImGuiNET
}
int native_format_offset = Util.GetUtf8("%.3f", native_format, format_byteCount);
native_format[native_format_offset] = 0;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (Vector4* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat4(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat4(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6749,10 +6902,10 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (Vector4* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat4(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat4(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6764,7 +6917,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputFloat4(string label, ref Vector4 v, string format, ImGuiInputTextFlags extra_flags)
public static bool InputFloat4(string label, ref Vector4 v, string format, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -6804,7 +6957,7 @@ namespace ImGuiNET
else { native_format = null; }
fixed (Vector4* native_v = &v)
{
byte ret = ImGuiNative.igInputFloat4(native_label, native_v, native_format, extra_flags);
byte ret = ImGuiNative.igInputFloat4(native_label, native_v, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6838,10 +6991,10 @@ namespace ImGuiNET
else { native_label = null; }
int step = 1;
int step_fast = 100;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, extra_flags);
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6870,10 +7023,10 @@ namespace ImGuiNET
}
else { native_label = null; }
int step_fast = 100;
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, extra_flags);
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6901,10 +7054,10 @@ namespace ImGuiNET
native_label[native_label_offset] = 0;
}
else { native_label = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, extra_flags);
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6912,7 +7065,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputInt(string label, ref int v, int step, int step_fast, ImGuiInputTextFlags extra_flags)
public static bool InputInt(string label, ref int v, int step, int step_fast, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -6934,7 +7087,7 @@ namespace ImGuiNET
else { native_label = null; }
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, extra_flags);
byte ret = ImGuiNative.igInputInt(native_label, native_v, step, step_fast, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6962,10 +7115,10 @@ namespace ImGuiNET
native_label[native_label_offset] = 0;
}
else { native_label = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt2(native_label, native_v, extra_flags);
byte ret = ImGuiNative.igInputInt2(native_label, native_v, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -6973,7 +7126,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputInt2(string label, ref int v, ImGuiInputTextFlags extra_flags)
public static bool InputInt2(string label, ref int v, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -6995,7 +7148,7 @@ namespace ImGuiNET
else { native_label = null; }
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt2(native_label, native_v, extra_flags);
byte ret = ImGuiNative.igInputInt2(native_label, native_v, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7023,10 +7176,10 @@ namespace ImGuiNET
native_label[native_label_offset] = 0;
}
else { native_label = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt3(native_label, native_v, extra_flags);
byte ret = ImGuiNative.igInputInt3(native_label, native_v, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7034,7 +7187,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputInt3(string label, ref int v, ImGuiInputTextFlags extra_flags)
public static bool InputInt3(string label, ref int v, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -7056,7 +7209,7 @@ namespace ImGuiNET
else { native_label = null; }
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt3(native_label, native_v, extra_flags);
byte ret = ImGuiNative.igInputInt3(native_label, native_v, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7084,10 +7237,10 @@ namespace ImGuiNET
native_label[native_label_offset] = 0;
}
else { native_label = null; }
ImGuiInputTextFlags extra_flags = 0;
ImGuiInputTextFlags flags = 0;
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt4(native_label, native_v, extra_flags);
byte ret = ImGuiNative.igInputInt4(native_label, native_v, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7095,7 +7248,7 @@ namespace ImGuiNET
return ret != 0;
}
}
public static bool InputInt4(string label, ref int v, ImGuiInputTextFlags extra_flags)
public static bool InputInt4(string label, ref int v, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -7117,7 +7270,7 @@ namespace ImGuiNET
else { native_label = null; }
fixed (int* native_v = &v)
{
byte ret = ImGuiNative.igInputInt4(native_label, native_v, extra_flags);
byte ret = ImGuiNative.igInputInt4(native_label, native_v, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7149,8 +7302,8 @@ namespace ImGuiNET
void* step = null;
void* step_fast = null;
byte* native_format = null;
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, step, step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7181,8 +7334,8 @@ namespace ImGuiNET
void* native_step = (void*)step.ToPointer();
void* step_fast = null;
byte* native_format = null;
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7213,8 +7366,8 @@ namespace ImGuiNET
void* native_step = (void*)step.ToPointer();
void* native_step_fast = (void*)step_fast.ToPointer();
byte* native_format = null;
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, native_step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, native_step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7262,8 +7415,8 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, native_step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, native_step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7274,7 +7427,7 @@ namespace ImGuiNET
}
return ret != 0;
}
public static bool InputScalar(string label, ImGuiDataType data_type, IntPtr v, IntPtr step, IntPtr step_fast, string format, ImGuiInputTextFlags extra_flags)
public static bool InputScalar(string label, ImGuiDataType data_type, IntPtr v, IntPtr step, IntPtr step_fast, string format, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -7315,7 +7468,7 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, native_step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputScalar(native_label, data_type, native_v, native_step, native_step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7350,8 +7503,8 @@ namespace ImGuiNET
void* step = null;
void* step_fast = null;
byte* native_format = null;
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, step, step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7382,8 +7535,8 @@ namespace ImGuiNET
void* native_step = (void*)step.ToPointer();
void* step_fast = null;
byte* native_format = null;
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7414,8 +7567,8 @@ namespace ImGuiNET
void* native_step = (void*)step.ToPointer();
void* native_step_fast = (void*)step_fast.ToPointer();
byte* native_format = null;
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, native_step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, native_step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7463,8 +7616,8 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
ImGuiInputTextFlags extra_flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, native_step_fast, native_format, extra_flags);
ImGuiInputTextFlags flags = 0;
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, native_step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -7475,7 +7628,7 @@ namespace ImGuiNET
}
return ret != 0;
}
public static bool InputScalarN(string label, ImGuiDataType data_type, IntPtr v, int components, IntPtr step, IntPtr step_fast, string format, ImGuiInputTextFlags extra_flags)
public static bool InputScalarN(string label, ImGuiDataType data_type, IntPtr v, int components, IntPtr step, IntPtr step_fast, string format, ImGuiInputTextFlags flags)
{
byte* native_label;
int label_byteCount = 0;
@ -7516,7 +7669,7 @@ namespace ImGuiNET
native_format[native_format_offset] = 0;
}
else { native_format = null; }
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, native_step_fast, native_format, extra_flags);
byte ret = ImGuiNative.igInputScalarN(native_label, data_type, native_v, components, native_step, native_step_fast, native_format, flags);
if (label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_label);
@ -9460,12 +9613,12 @@ namespace ImGuiNET
}
public static void PushTextWrapPos()
{
float wrap_pos_x = 0.0f;
ImGuiNative.igPushTextWrapPos(wrap_pos_x);
float wrap_local_pos_x = 0.0f;
ImGuiNative.igPushTextWrapPos(wrap_local_pos_x);
}
public static void PushTextWrapPos(float wrap_pos_x)
public static void PushTextWrapPos(float wrap_local_pos_x)
{
ImGuiNative.igPushTextWrapPos(wrap_pos_x);
ImGuiNative.igPushTextWrapPos(wrap_local_pos_x);
}
public static bool RadioButton(string label, bool active)
{
@ -9540,18 +9693,18 @@ namespace ImGuiNET
}
public static void SameLine()
{
float pos_x = 0.0f;
float local_pos_x = 0.0f;
float spacing_w = -1.0f;
ImGuiNative.igSameLine(pos_x, spacing_w);
ImGuiNative.igSameLine(local_pos_x, spacing_w);
}
public static void SameLine(float pos_x)
public static void SameLine(float local_pos_x)
{
float spacing_w = -1.0f;
ImGuiNative.igSameLine(pos_x, spacing_w);
ImGuiNative.igSameLine(local_pos_x, spacing_w);
}
public static void SameLine(float pos_x, float spacing_w)
public static void SameLine(float local_pos_x, float spacing_w)
{
ImGuiNative.igSameLine(pos_x, spacing_w);
ImGuiNative.igSameLine(local_pos_x, spacing_w);
}
public static void SaveIniSettingsToDisk(string ini_filename)
{
@ -9853,17 +10006,17 @@ namespace ImGuiNET
{
ImGuiNative.igSetCursorPos(local_pos);
}
public static void SetCursorPosX(float x)
public static void SetCursorPosX(float local_x)
{
ImGuiNative.igSetCursorPosX(x);
ImGuiNative.igSetCursorPosX(local_x);
}
public static void SetCursorPosY(float y)
public static void SetCursorPosY(float local_y)
{
ImGuiNative.igSetCursorPosY(y);
ImGuiNative.igSetCursorPosY(local_y);
}
public static void SetCursorScreenPos(Vector2 screen_pos)
public static void SetCursorScreenPos(Vector2 pos)
{
ImGuiNative.igSetCursorScreenPos(screen_pos);
ImGuiNative.igSetCursorScreenPos(pos);
}
public static bool SetDragDropPayload(string type, IntPtr data, uint size)
{
@ -10017,14 +10170,14 @@ namespace ImGuiNET
void* native_custom_callback_data = (void*)custom_callback_data.ToPointer();
ImGuiNative.igSetNextWindowSizeConstraints(size_min, size_max, custom_callback, native_custom_callback_data);
}
public static void SetScrollFromPosY(float pos_y)
public static void SetScrollFromPosY(float local_y)
{
float center_y_ratio = 0.5f;
ImGuiNative.igSetScrollFromPosY(pos_y, center_y_ratio);
ImGuiNative.igSetScrollFromPosY(local_y, center_y_ratio);
}
public static void SetScrollFromPosY(float pos_y, float center_y_ratio)
public static void SetScrollFromPosY(float local_y, float center_y_ratio)
{
ImGuiNative.igSetScrollFromPosY(pos_y, center_y_ratio);
ImGuiNative.igSetScrollFromPosY(local_y, center_y_ratio);
}
public static void SetScrollHereY()
{
@ -10048,6 +10201,32 @@ namespace ImGuiNET
ImGuiStorage* native_storage = storage.NativePtr;
ImGuiNative.igSetStateStorage(native_storage);
}
public static void SetTabItemClosed(string tab_or_docked_window_label)
{
byte* native_tab_or_docked_window_label;
int tab_or_docked_window_label_byteCount = 0;
if (tab_or_docked_window_label != null)
{
tab_or_docked_window_label_byteCount = Encoding.UTF8.GetByteCount(tab_or_docked_window_label);
if (tab_or_docked_window_label_byteCount > Util.StackAllocationSizeLimit)
{
native_tab_or_docked_window_label = Util.Allocate(tab_or_docked_window_label_byteCount + 1);
}
else
{
byte* native_tab_or_docked_window_label_stackBytes = stackalloc byte[tab_or_docked_window_label_byteCount + 1];
native_tab_or_docked_window_label = native_tab_or_docked_window_label_stackBytes;
}
int native_tab_or_docked_window_label_offset = Util.GetUtf8(tab_or_docked_window_label, native_tab_or_docked_window_label, tab_or_docked_window_label_byteCount);
native_tab_or_docked_window_label[native_tab_or_docked_window_label_offset] = 0;
}
else { native_tab_or_docked_window_label = null; }
ImGuiNative.igSetTabItemClosed(native_tab_or_docked_window_label);
if (tab_or_docked_window_label_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_tab_or_docked_window_label);
}
}
public static void SetTooltip(string fmt)
{
byte* native_fmt;
@ -10298,6 +10477,18 @@ namespace ImGuiNET
Util.Free(native_name);
}
}
public static void ShowAboutWindow()
{
byte* p_open = null;
ImGuiNative.igShowAboutWindow(p_open);
}
public static void ShowAboutWindow(ref bool p_open)
{
byte native_p_open_val = p_open ? (byte)1 : (byte)0;
byte* native_p_open = &native_p_open_val;
ImGuiNative.igShowAboutWindow(native_p_open);
p_open = native_p_open_val != 0;
}
public static void ShowDemoWindow()
{
byte* p_open = null;

@ -3,6 +3,7 @@ namespace ImGuiNET
[System.Flags]
public enum ImGuiBackendFlags
{
None = 0,
HasGamepad = 1 << 0,
HasMouseCursors = 1 << 1,
HasSetMousePos = 1 << 2,

@ -35,16 +35,21 @@ namespace ImGuiNET
ResizeGrip = 30,
ResizeGripHovered = 31,
ResizeGripActive = 32,
PlotLines = 33,
PlotLinesHovered = 34,
PlotHistogram = 35,
PlotHistogramHovered = 36,
TextSelectedBg = 37,
DragDropTarget = 38,
NavHighlight = 39,
NavWindowingHighlight = 40,
NavWindowingDimBg = 41,
ModalWindowDimBg = 42,
COUNT = 43,
Tab = 33,
TabHovered = 34,
TabActive = 35,
TabUnfocused = 36,
TabUnfocusedActive = 37,
PlotLines = 38,
PlotLinesHovered = 39,
PlotHistogram = 40,
PlotHistogramHovered = 41,
TextSelectedBg = 42,
DragDropTarget = 43,
NavHighlight = 44,
NavWindowingHighlight = 45,
NavWindowingDimBg = 46,
ModalWindowDimBg = 47,
COUNT = 48,
}
}

@ -3,6 +3,7 @@ namespace ImGuiNET
[System.Flags]
public enum ImGuiConfigFlags
{
None = 0,
NavEnableKeyboard = 1 << 0,
NavEnableGamepad = 1 << 1,
NavEnableSetMousePos = 1 << 2,

@ -31,7 +31,13 @@ namespace ImGuiNET
public byte MouseDrawCursor;
public byte ConfigMacOSXBehaviors;
public byte ConfigInputTextCursorBlink;
public byte ConfigResizeWindowsFromEdges;
public byte ConfigWindowsResizeFromEdges;
public byte ConfigWindowsMoveFromTitleBarOnly;
public byte* BackendPlatformName;
public byte* BackendRendererName;
public void* BackendPlatformUserData;
public void* BackendRendererUserData;
public void* BackendLanguageUserData;
public IntPtr GetClipboardTextFn;
public IntPtr SetClipboardTextFn;
public void* ClipboardUserData;
@ -47,7 +53,6 @@ namespace ImGuiNET
public byte KeyAlt;
public byte KeySuper;
public fixed byte KeysDown[512];
public fixed ushort InputCharacters[17];
public fixed float NavInputs[21];
public byte WantCaptureMouse;
public byte WantCaptureKeyboard;
@ -86,6 +91,7 @@ namespace ImGuiNET
public fixed float KeysDownDurationPrev[512];
public fixed float NavInputsDownDuration[21];
public fixed float NavInputsDownDurationPrev[21];
public ImVector InputQueueCharacters;
}
public unsafe partial struct ImGuiIOPtr
{
@ -119,7 +125,13 @@ namespace ImGuiNET
public ref bool MouseDrawCursor => ref Unsafe.AsRef<bool>(&NativePtr->MouseDrawCursor);
public ref bool ConfigMacOSXBehaviors => ref Unsafe.AsRef<bool>(&NativePtr->ConfigMacOSXBehaviors);
public ref bool ConfigInputTextCursorBlink => ref Unsafe.AsRef<bool>(&NativePtr->ConfigInputTextCursorBlink);
public ref bool ConfigResizeWindowsFromEdges => ref Unsafe.AsRef<bool>(&NativePtr->ConfigResizeWindowsFromEdges);
public ref bool ConfigWindowsResizeFromEdges => ref Unsafe.AsRef<bool>(&NativePtr->ConfigWindowsResizeFromEdges);
public ref bool ConfigWindowsMoveFromTitleBarOnly => ref Unsafe.AsRef<bool>(&NativePtr->ConfigWindowsMoveFromTitleBarOnly);
public NullTerminatedString BackendPlatformName => new NullTerminatedString(NativePtr->BackendPlatformName);
public NullTerminatedString BackendRendererName => new NullTerminatedString(NativePtr->BackendRendererName);
public IntPtr BackendPlatformUserData { get => (IntPtr)NativePtr->BackendPlatformUserData; set => NativePtr->BackendPlatformUserData = (void*)value; }
public IntPtr BackendRendererUserData { get => (IntPtr)NativePtr->BackendRendererUserData; set => NativePtr->BackendRendererUserData = (void*)value; }
public IntPtr BackendLanguageUserData { get => (IntPtr)NativePtr->BackendLanguageUserData; set => NativePtr->BackendLanguageUserData = (void*)value; }
public ref IntPtr GetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->GetClipboardTextFn);
public ref IntPtr SetClipboardTextFn => ref Unsafe.AsRef<IntPtr>(&NativePtr->SetClipboardTextFn);
public IntPtr ClipboardUserData { get => (IntPtr)NativePtr->ClipboardUserData; set => NativePtr->ClipboardUserData = (void*)value; }
@ -135,7 +147,6 @@ namespace ImGuiNET
public ref bool KeyAlt => ref Unsafe.AsRef<bool>(&NativePtr->KeyAlt);
public ref bool KeySuper => ref Unsafe.AsRef<bool>(&NativePtr->KeySuper);
public RangeAccessor<bool> KeysDown => new RangeAccessor<bool>(NativePtr->KeysDown, 512);
public RangeAccessor<ushort> InputCharacters => new RangeAccessor<ushort>(NativePtr->InputCharacters, 17);
public RangeAccessor<float> NavInputs => new RangeAccessor<float>(NativePtr->NavInputs, 21);
public ref bool WantCaptureMouse => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureMouse);
public ref bool WantCaptureKeyboard => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureKeyboard);
@ -166,34 +177,35 @@ namespace ImGuiNET
public RangeAccessor<float> KeysDownDurationPrev => new RangeAccessor<float>(NativePtr->KeysDownDurationPrev, 512);
public RangeAccessor<float> NavInputsDownDuration => new RangeAccessor<float>(NativePtr->NavInputsDownDuration, 21);
public RangeAccessor<float> NavInputsDownDurationPrev => new RangeAccessor<float>(NativePtr->NavInputsDownDurationPrev, 21);
public ImVector<ushort> InputQueueCharacters => new ImVector<ushort>(NativePtr->InputQueueCharacters);
public void AddInputCharacter(ushort c)
{
ImGuiNative.ImGuiIO_AddInputCharacter(NativePtr, c);
}
public void AddInputCharactersUTF8(string utf8_chars)
public void AddInputCharactersUTF8(string str)
{
byte* native_utf8_chars;
int utf8_chars_byteCount = 0;
if (utf8_chars != null)
byte* native_str;
int str_byteCount = 0;
if (str != null)
{
utf8_chars_byteCount = Encoding.UTF8.GetByteCount(utf8_chars);
if (utf8_chars_byteCount > Util.StackAllocationSizeLimit)
str_byteCount = Encoding.UTF8.GetByteCount(str);
if (str_byteCount > Util.StackAllocationSizeLimit)
{
native_utf8_chars = Util.Allocate(utf8_chars_byteCount + 1);
native_str = Util.Allocate(str_byteCount + 1);
}
else
{
byte* native_utf8_chars_stackBytes = stackalloc byte[utf8_chars_byteCount + 1];
native_utf8_chars = native_utf8_chars_stackBytes;
byte* native_str_stackBytes = stackalloc byte[str_byteCount + 1];
native_str = native_str_stackBytes;
}
int native_utf8_chars_offset = Util.GetUtf8(utf8_chars, native_utf8_chars, utf8_chars_byteCount);
native_utf8_chars[native_utf8_chars_offset] = 0;
int native_str_offset = Util.GetUtf8(str, native_str, str_byteCount);
native_str[native_str_offset] = 0;
}
else { native_utf8_chars = null; }
ImGuiNative.ImGuiIO_AddInputCharactersUTF8(NativePtr, native_utf8_chars);
if (utf8_chars_byteCount > Util.StackAllocationSizeLimit)
else { native_str = null; }
ImGuiNative.ImGuiIO_AddInputCharactersUTF8(NativePtr, native_str);
if (str_byteCount > Util.StackAllocationSizeLimit)
{
Util.Free(native_utf8_chars);
Util.Free(native_str);
}
}
public void ClearInputCharacters()

@ -11,20 +11,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte CustomRect_IsPacked(CustomRect* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void GlyphRangesBuilder_AddChar(GlyphRangesBuilder* self, ushort c);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void GlyphRangesBuilder_AddRanges(GlyphRangesBuilder* self, ushort* ranges);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void GlyphRangesBuilder_AddText(GlyphRangesBuilder* self, byte* text, byte* text_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self, ImVector* out_ranges);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self, int n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void GlyphRangesBuilder_GlyphRangesBuilder();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void GlyphRangesBuilder_SetBit(GlyphRangesBuilder* self, int n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiPayload* igAcceptDragDropPayload(byte* type, ImGuiDragDropFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igAlignTextToFramePadding();
@ -63,6 +49,10 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginPopupModal(byte* name, byte* p_open, ImGuiWindowFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginTabBar(byte* str_id, ImGuiTabBarFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igBeginTabItem(byte* label, byte* p_open, ImGuiTabItemFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igBeginTooltip();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igBullet();
@ -77,9 +67,9 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl, EntryPoint = "igCalcTextSize_nonUDT2")]
public static extern Vector2 igCalcTextSize(byte* text, byte* text_end, byte hide_text_after_double_hash, float wrap_width);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCaptureKeyboardFromApp(byte capture);
public static extern void igCaptureKeyboardFromApp(byte want_capture_keyboard_value);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCaptureMouseFromApp(byte capture);
public static extern void igCaptureMouseFromApp(byte want_capture_mouse_value);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igCheckbox(byte* label, byte* v);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -171,6 +161,10 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndPopup();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndTabBar();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndTabItem();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igEndTooltip();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte* igGetClipboardText();
@ -301,27 +295,27 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igIndent(float indent_w);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputDouble(byte* label, double* v, double step, double step_fast, byte* format, ImGuiInputTextFlags extra_flags);
public static extern byte igInputDouble(byte* label, double* v, double step, double step_fast, byte* format, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputFloat(byte* label, float* v, float step, float step_fast, byte* format, ImGuiInputTextFlags extra_flags);
public static extern byte igInputFloat(byte* label, float* v, float step, float step_fast, byte* format, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputFloat2(byte* label, Vector2* v, byte* format, ImGuiInputTextFlags extra_flags);
public static extern byte igInputFloat2(byte* label, Vector2* v, byte* format, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputFloat3(byte* label, Vector3* v, byte* format, ImGuiInputTextFlags extra_flags);
public static extern byte igInputFloat3(byte* label, Vector3* v, byte* format, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputFloat4(byte* label, Vector4* v, byte* format, ImGuiInputTextFlags extra_flags);
public static extern byte igInputFloat4(byte* label, Vector4* v, byte* format, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputInt(byte* label, int* v, int step, int step_fast, ImGuiInputTextFlags extra_flags);
public static extern byte igInputInt(byte* label, int* v, int step, int step_fast, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputInt2(byte* label, int* v, ImGuiInputTextFlags extra_flags);
public static extern byte igInputInt2(byte* label, int* v, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputInt3(byte* label, int* v, ImGuiInputTextFlags extra_flags);
public static extern byte igInputInt3(byte* label, int* v, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputInt4(byte* label, int* v, ImGuiInputTextFlags extra_flags);
public static extern byte igInputInt4(byte* label, int* v, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputScalar(byte* label, ImGuiDataType data_type, void* v, void* step, void* step_fast, byte* format, ImGuiInputTextFlags extra_flags);
public static extern byte igInputScalar(byte* label, ImGuiDataType data_type, void* v, void* step, void* step_fast, byte* format, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputScalarN(byte* label, ImGuiDataType data_type, void* v, int components, void* step, void* step_fast, byte* format, ImGuiInputTextFlags extra_flags);
public static extern byte igInputScalarN(byte* label, ImGuiDataType data_type, void* v, int components, void* step, void* step_fast, byte* format, ImGuiInputTextFlags flags);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igInputText(byte* label, byte* buf, uint buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, void* user_data);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -481,7 +475,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushStyleVarVec2(ImGuiStyleVar idx, Vector2 val);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igPushTextWrapPos(float wrap_pos_x);
public static extern void igPushTextWrapPos(float wrap_local_pos_x);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igRadioButtonBool(byte* label, byte active);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -491,7 +485,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igResetMouseDragDelta(int button);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSameLine(float pos_x, float spacing_w);
public static extern void igSameLine(float local_pos_x, float spacing_w);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSaveIniSettingsToDisk(byte* ini_filename);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -515,11 +509,11 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetCursorPos(Vector2 local_pos);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetCursorPosX(float x);
public static extern void igSetCursorPosX(float local_x);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetCursorPosY(float y);
public static extern void igSetCursorPosY(float local_y);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetCursorScreenPos(Vector2 screen_pos);
public static extern void igSetCursorScreenPos(Vector2 pos);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igSetDragDropPayload(byte* type, void* data, uint size, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -547,7 +541,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetNextWindowSizeConstraints(Vector2 size_min, Vector2 size_max, ImGuiSizeCallback custom_callback, void* custom_callback_data);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollFromPosY(float pos_y, float center_y_ratio);
public static extern void igSetScrollFromPosY(float local_y, float center_y_ratio);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetScrollHereY(float center_y_ratio);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
@ -557,6 +551,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetStateStorage(ImGuiStorage* storage);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetTabItemClosed(byte* tab_or_docked_window_label);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetTooltip(byte* fmt);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowCollapsedBool(byte collapsed, ImGuiCond cond);
@ -577,6 +573,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igSetWindowSizeStr(byte* name, Vector2 size, ImGuiCond cond);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowAboutWindow(byte* p_open);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowDemoWindow(byte* p_open);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowFontSelector(byte* label);
@ -885,6 +883,20 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontConfig_ImFontConfig();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self, ushort c);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontGlyphRangesBuilder_AddRanges(ImFontGlyphRangesBuilder* self, ushort* ranges);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self, byte* text, byte* text_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontGlyphRangesBuilder_BuildRanges(ImFontGlyphRangesBuilder* self, ImVector* out_ranges);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self, int n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self, int n);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self, int pos, int bytes_count);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
@ -895,7 +907,7 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddInputCharacter(ImGuiIO* self, ushort c);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, byte* utf8_chars);
public static extern void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, byte* str);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]

@ -29,6 +29,8 @@ namespace ImGuiNET
public float ScrollbarRounding;
public float GrabMinSize;
public float GrabRounding;
public float TabRounding;
public float TabBorderSize;
public Vector2 ButtonTextAlign;
public Vector2 DisplayWindowPadding;
public Vector2 DisplaySafeAreaPadding;
@ -79,6 +81,11 @@ namespace ImGuiNET
public Vector4 Colors_40;
public Vector4 Colors_41;
public Vector4 Colors_42;
public Vector4 Colors_43;
public Vector4 Colors_44;
public Vector4 Colors_45;
public Vector4 Colors_46;
public Vector4 Colors_47;
}
public unsafe partial struct ImGuiStylePtr
{
@ -110,6 +117,8 @@ namespace ImGuiNET
public ref float ScrollbarRounding => ref Unsafe.AsRef<float>(&NativePtr->ScrollbarRounding);
public ref float GrabMinSize => ref Unsafe.AsRef<float>(&NativePtr->GrabMinSize);
public ref float GrabRounding => ref Unsafe.AsRef<float>(&NativePtr->GrabRounding);
public ref float TabRounding => ref Unsafe.AsRef<float>(&NativePtr->TabRounding);
public ref float TabBorderSize => ref Unsafe.AsRef<float>(&NativePtr->TabBorderSize);
public ref Vector2 ButtonTextAlign => ref Unsafe.AsRef<Vector2>(&NativePtr->ButtonTextAlign);
public ref Vector2 DisplayWindowPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayWindowPadding);
public ref Vector2 DisplaySafeAreaPadding => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplaySafeAreaPadding);
@ -117,7 +126,7 @@ namespace ImGuiNET
public ref bool AntiAliasedLines => ref Unsafe.AsRef<bool>(&NativePtr->AntiAliasedLines);
public ref bool AntiAliasedFill => ref Unsafe.AsRef<bool>(&NativePtr->AntiAliasedFill);
public ref float CurveTessellationTol => ref Unsafe.AsRef<float>(&NativePtr->CurveTessellationTol);
public RangeAccessor<Vector4> Colors => new RangeAccessor<Vector4>(&NativePtr->Colors_0, 43);
public RangeAccessor<Vector4> Colors => new RangeAccessor<Vector4>(&NativePtr->Colors_0, 48);
public void ScaleAllSizes(float scale_factor)
{
ImGuiNative.ImGuiStyle_ScaleAllSizes(NativePtr, scale_factor);

@ -22,7 +22,8 @@ namespace ImGuiNET
ScrollbarRounding = 17,
GrabMinSize = 18,
GrabRounding = 19,
ButtonTextAlign = 20,
COUNT = 21,
TabRounding = 20,
ButtonTextAlign = 21,
COUNT = 22,
}
}

@ -0,0 +1,18 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImGuiTabBarFlags
{
None = 0,
Reorderable = 1 << 0,
AutoSelectNewTabs = 1 << 1,
NoCloseWithMiddleMouseButton = 1 << 2,
NoTabListPopupButton = 1 << 3,
NoTabListScrollingButtons = 1 << 4,
NoTooltip = 1 << 5,
FittingPolicyResizeDown = 1 << 6,
FittingPolicyScroll = 1 << 7,
FittingPolicyMask = FittingPolicyResizeDown | FittingPolicyScroll,
FittingPolicyDefault = FittingPolicyResizeDown,
}
}

@ -0,0 +1,12 @@
namespace ImGuiNET
{
[System.Flags]
public enum ImGuiTabItemFlags
{
None = 0,
UnsavedDocument = 1 << 0,
SetSelected = 1 << 1,
NoCloseWithMiddleMouseButton = 1 << 2,
NoPushId = 1 << 3,
}
}

@ -23,6 +23,7 @@ namespace ImGuiNET
AlwaysUseWindowPadding = 1 << 16,
NoNavInputs = 1 << 18,
NoNavFocus = 1 << 19,
UnsavedDocument = 1 << 20,
NoNav = NoNavInputs | NoNavFocus,
NoDecoration = NoTitleBar | NoResize | NoScrollbar | NoCollapse,
NoInputs = NoMouseInputs | NoNavInputs | NoNavFocus,

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Description>A .NET wrapper for the Dear ImGui library.</Description>
<AssemblyVersion>1.66.1</AssemblyVersion>
<AssemblyVersion>1.67.0</AssemblyVersion>
<Authors>Eric Mellino</Authors>
<TargetFramework>netstandard2.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@ -38,4 +38,7 @@
<Pack>true</Pack>
</Content>
</ItemGroup>
<ItemGroup>
<Folder Include="Generated\" />
</ItemGroup>
</Project>

Loading…
Cancel
Save