Update to v1.86.

internals
Eric Mellino 3 years ago
parent ad8a51eb2a
commit 690c05e696
  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. 3523
      src/CodeGenerator/definitions/cimgui/definitions.json
  6. 839
      src/CodeGenerator/definitions/cimgui/structs_and_enums.json
  7. 5
      src/ImGui.NET.SampleProgram/MemoryEditor.cs
  8. 7
      src/ImGui.NET.SampleProgram/Program.cs
  9. 22
      src/ImGui.NET/Generated/ImGui.gen.cs
  10. 2
      src/ImGui.NET/Generated/ImGuiFocusedFlags.gen.cs
  11. 12
      src/ImGui.NET/Generated/ImGuiHoveredFlags.gen.cs
  12. 12
      src/ImGui.NET/Generated/ImGuiIO.gen.cs
  13. 10
      src/ImGui.NET/Generated/ImGuiListClipper.gen.cs
  14. 10
      src/ImGui.NET/Generated/ImGuiNative.gen.cs

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

@ -3,6 +3,8 @@ using System.Globalization;
using ImGuiNET; using ImGuiNET;
using System.Numerics; using System.Numerics;
#if false
namespace ImGuiNET namespace ImGuiNET
{ {
// C# port of ocornut's imgui_memory_editor.h - https://gist.github.com/ocornut/0673e37e54aff644298b // C# port of ocornut's imgui_memory_editor.h - https://gist.github.com/ocornut/0673e37e54aff644298b
@ -274,4 +276,5 @@ namespace ImGuiNET
} }
} }
} }
} }
#endif

@ -16,7 +16,7 @@ namespace ImGuiNET
private static GraphicsDevice _gd; private static GraphicsDevice _gd;
private static CommandList _cl; private static CommandList _cl;
private static ImGuiController _controller; private static ImGuiController _controller;
private static MemoryEditor _memoryEditor; // private static MemoryEditor _memoryEditor;
// UI state // UI state
private static float _f = 0.0f; private static float _f = 0.0f;
@ -47,7 +47,7 @@ namespace ImGuiNET
}; };
_cl = _gd.ResourceFactory.CreateCommandList(); _cl = _gd.ResourceFactory.CreateCommandList();
_controller = new ImGuiController(_gd, _gd.MainSwapchain.Framebuffer.OutputDescription, _window.Width, _window.Height); _controller = new ImGuiController(_gd, _gd.MainSwapchain.Framebuffer.OutputDescription, _window.Width, _window.Height);
_memoryEditor = new MemoryEditor(); // _memoryEditor = new MemoryEditor();
Random random = new Random(); Random random = new Random();
_memoryEditorData = Enumerable.Range(0, 1024).Select(i => (byte)random.Next(255)).ToArray(); _memoryEditorData = Enumerable.Range(0, 1024).Select(i => (byte)random.Next(255)).ToArray();
@ -197,7 +197,8 @@ namespace ImGuiNET
if (_showMemoryEditor) if (_showMemoryEditor)
{ {
_memoryEditor.Draw("Memory Editor", _memoryEditorData, _memoryEditorData.Length); ImGui.Text("Memory editor currently supported.");
// _memoryEditor.Draw("Memory Editor", _memoryEditorData, _memoryEditorData.Length);
} }
} }
} }

@ -6424,6 +6424,11 @@ namespace ImGuiNET
ImGuiViewport* ret = ImGuiNative.igGetMainViewport(); ImGuiViewport* ret = ImGuiNative.igGetMainViewport();
return new ImGuiViewportPtr(ret); return new ImGuiViewportPtr(ret);
} }
public static int GetMouseClickedCount(ImGuiMouseButton button)
{
int ret = ImGuiNative.igGetMouseClickedCount(button);
return ret;
}
public static ImGuiMouseCursor GetMouseCursor() public static ImGuiMouseCursor GetMouseCursor()
{ {
ImGuiMouseCursor ret = ImGuiNative.igGetMouseCursor(); ImGuiMouseCursor ret = ImGuiNative.igGetMouseCursor();
@ -6544,11 +6549,6 @@ namespace ImGuiNET
ImGuiNative.igGetWindowContentRegionMin(&__retval); ImGuiNative.igGetWindowContentRegionMin(&__retval);
return __retval; return __retval;
} }
public static float GetWindowContentRegionWidth()
{
float ret = ImGuiNative.igGetWindowContentRegionWidth();
return ret;
}
public static uint GetWindowDockID() public static uint GetWindowDockID()
{ {
uint ret = ImGuiNative.igGetWindowDockID(); uint ret = ImGuiNative.igGetWindowDockID();
@ -11268,6 +11268,18 @@ namespace ImGuiNET
ImGuiNative.igShowMetricsWindow(native_p_open); ImGuiNative.igShowMetricsWindow(native_p_open);
p_open = native_p_open_val != 0; p_open = native_p_open_val != 0;
} }
public static void ShowStackToolWindow()
{
byte* p_open = null;
ImGuiNative.igShowStackToolWindow(p_open);
}
public static void ShowStackToolWindow(ref bool p_open)
{
byte native_p_open_val = p_open ? (byte)1 : (byte)0;
byte* native_p_open = &native_p_open_val;
ImGuiNative.igShowStackToolWindow(native_p_open);
p_open = native_p_open_val != 0;
}
public static void ShowStyleEditor() public static void ShowStyleEditor()
{ {
ImGuiStyle* @ref = null; ImGuiStyle* @ref = null;

@ -7,6 +7,8 @@ namespace ImGuiNET
ChildWindows = 1, ChildWindows = 1,
RootWindow = 2, RootWindow = 2,
AnyWindow = 4, AnyWindow = 4,
NoPopupHierarchy = 8,
DockHierarchy = 16,
RootAndChildWindows = 3, RootAndChildWindows = 3,
} }
} }

@ -7,11 +7,13 @@ namespace ImGuiNET
ChildWindows = 1, ChildWindows = 1,
RootWindow = 2, RootWindow = 2,
AnyWindow = 4, AnyWindow = 4,
AllowWhenBlockedByPopup = 8, NoPopupHierarchy = 8,
AllowWhenBlockedByActiveItem = 32, DockHierarchy = 16,
AllowWhenOverlapped = 64, AllowWhenBlockedByPopup = 32,
AllowWhenDisabled = 128, AllowWhenBlockedByActiveItem = 128,
RectOnly = 104, AllowWhenOverlapped = 256,
AllowWhenDisabled = 512,
RectOnly = 416,
RootAndChildWindows = 3, RootAndChildWindows = 3,
} }
} }

@ -27,6 +27,7 @@ namespace ImGuiNET
public ImFont* FontDefault; public ImFont* FontDefault;
public Vector2 DisplayFramebufferScale; public Vector2 DisplayFramebufferScale;
public byte ConfigDockingNoSplit; public byte ConfigDockingNoSplit;
public byte ConfigDockingWithShift;
public byte ConfigDockingAlwaysTabBar; public byte ConfigDockingAlwaysTabBar;
public byte ConfigDockingTransparentPayload; public byte ConfigDockingTransparentPayload;
public byte ConfigViewportsNoAutoMerge; public byte ConfigViewportsNoAutoMerge;
@ -73,6 +74,7 @@ namespace ImGuiNET
public int MetricsActiveWindows; public int MetricsActiveWindows;
public int MetricsActiveAllocations; public int MetricsActiveAllocations;
public Vector2 MouseDelta; public Vector2 MouseDelta;
public byte WantCaptureMouseUnlessPopupClose;
public ImGuiKeyModFlags KeyMods; public ImGuiKeyModFlags KeyMods;
public ImGuiKeyModFlags KeyModsPrev; public ImGuiKeyModFlags KeyModsPrev;
public Vector2 MousePosPrev; public Vector2 MousePosPrev;
@ -84,9 +86,11 @@ namespace ImGuiNET
public fixed double MouseClickedTime[5]; public fixed double MouseClickedTime[5];
public fixed byte MouseClicked[5]; public fixed byte MouseClicked[5];
public fixed byte MouseDoubleClicked[5]; public fixed byte MouseDoubleClicked[5];
public fixed ushort MouseClickedCount[5];
public fixed ushort MouseClickedLastCount[5];
public fixed byte MouseReleased[5]; public fixed byte MouseReleased[5];
public fixed byte MouseDownOwned[5]; public fixed byte MouseDownOwned[5];
public fixed byte MouseDownWasDoubleClick[5]; public fixed byte MouseDownOwnedUnlessPopupClose[5];
public fixed float MouseDownDuration[5]; public fixed float MouseDownDuration[5];
public fixed float MouseDownDurationPrev[5]; public fixed float MouseDownDurationPrev[5];
public Vector2 MouseDragMaxDistanceAbs_0; public Vector2 MouseDragMaxDistanceAbs_0;
@ -132,6 +136,7 @@ namespace ImGuiNET
public ImFontPtr FontDefault => new ImFontPtr(NativePtr->FontDefault); public ImFontPtr FontDefault => new ImFontPtr(NativePtr->FontDefault);
public ref Vector2 DisplayFramebufferScale => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayFramebufferScale); public ref Vector2 DisplayFramebufferScale => ref Unsafe.AsRef<Vector2>(&NativePtr->DisplayFramebufferScale);
public ref bool ConfigDockingNoSplit => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingNoSplit); public ref bool ConfigDockingNoSplit => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingNoSplit);
public ref bool ConfigDockingWithShift => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingWithShift);
public ref bool ConfigDockingAlwaysTabBar => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingAlwaysTabBar); public ref bool ConfigDockingAlwaysTabBar => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingAlwaysTabBar);
public ref bool ConfigDockingTransparentPayload => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingTransparentPayload); public ref bool ConfigDockingTransparentPayload => ref Unsafe.AsRef<bool>(&NativePtr->ConfigDockingTransparentPayload);
public ref bool ConfigViewportsNoAutoMerge => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoAutoMerge); public ref bool ConfigViewportsNoAutoMerge => ref Unsafe.AsRef<bool>(&NativePtr->ConfigViewportsNoAutoMerge);
@ -178,6 +183,7 @@ namespace ImGuiNET
public ref int MetricsActiveWindows => ref Unsafe.AsRef<int>(&NativePtr->MetricsActiveWindows); public ref int MetricsActiveWindows => ref Unsafe.AsRef<int>(&NativePtr->MetricsActiveWindows);
public ref int MetricsActiveAllocations => ref Unsafe.AsRef<int>(&NativePtr->MetricsActiveAllocations); public ref int MetricsActiveAllocations => ref Unsafe.AsRef<int>(&NativePtr->MetricsActiveAllocations);
public ref Vector2 MouseDelta => ref Unsafe.AsRef<Vector2>(&NativePtr->MouseDelta); public ref Vector2 MouseDelta => ref Unsafe.AsRef<Vector2>(&NativePtr->MouseDelta);
public ref bool WantCaptureMouseUnlessPopupClose => ref Unsafe.AsRef<bool>(&NativePtr->WantCaptureMouseUnlessPopupClose);
public ref ImGuiKeyModFlags KeyMods => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->KeyMods); public ref ImGuiKeyModFlags KeyMods => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->KeyMods);
public ref ImGuiKeyModFlags KeyModsPrev => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->KeyModsPrev); public ref ImGuiKeyModFlags KeyModsPrev => ref Unsafe.AsRef<ImGuiKeyModFlags>(&NativePtr->KeyModsPrev);
public ref Vector2 MousePosPrev => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePosPrev); public ref Vector2 MousePosPrev => ref Unsafe.AsRef<Vector2>(&NativePtr->MousePosPrev);
@ -185,9 +191,11 @@ namespace ImGuiNET
public RangeAccessor<double> MouseClickedTime => new RangeAccessor<double>(NativePtr->MouseClickedTime, 5); public RangeAccessor<double> MouseClickedTime => new RangeAccessor<double>(NativePtr->MouseClickedTime, 5);
public RangeAccessor<bool> MouseClicked => new RangeAccessor<bool>(NativePtr->MouseClicked, 5); public RangeAccessor<bool> MouseClicked => new RangeAccessor<bool>(NativePtr->MouseClicked, 5);
public RangeAccessor<bool> MouseDoubleClicked => new RangeAccessor<bool>(NativePtr->MouseDoubleClicked, 5); public RangeAccessor<bool> MouseDoubleClicked => new RangeAccessor<bool>(NativePtr->MouseDoubleClicked, 5);
public RangeAccessor<ushort> MouseClickedCount => new RangeAccessor<ushort>(NativePtr->MouseClickedCount, 5);
public RangeAccessor<ushort> MouseClickedLastCount => new RangeAccessor<ushort>(NativePtr->MouseClickedLastCount, 5);
public RangeAccessor<bool> MouseReleased => new RangeAccessor<bool>(NativePtr->MouseReleased, 5); public RangeAccessor<bool> MouseReleased => new RangeAccessor<bool>(NativePtr->MouseReleased, 5);
public RangeAccessor<bool> MouseDownOwned => new RangeAccessor<bool>(NativePtr->MouseDownOwned, 5); public RangeAccessor<bool> MouseDownOwned => new RangeAccessor<bool>(NativePtr->MouseDownOwned, 5);
public RangeAccessor<bool> MouseDownWasDoubleClick => new RangeAccessor<bool>(NativePtr->MouseDownWasDoubleClick, 5); public RangeAccessor<bool> MouseDownOwnedUnlessPopupClose => new RangeAccessor<bool>(NativePtr->MouseDownOwnedUnlessPopupClose, 5);
public RangeAccessor<float> MouseDownDuration => new RangeAccessor<float>(NativePtr->MouseDownDuration, 5); public RangeAccessor<float> MouseDownDuration => new RangeAccessor<float>(NativePtr->MouseDownDuration, 5);
public RangeAccessor<float> MouseDownDurationPrev => new RangeAccessor<float>(NativePtr->MouseDownDurationPrev, 5); public RangeAccessor<float> MouseDownDurationPrev => new RangeAccessor<float>(NativePtr->MouseDownDurationPrev, 5);
public RangeAccessor<Vector2> MouseDragMaxDistanceAbs => new RangeAccessor<Vector2>(&NativePtr->MouseDragMaxDistanceAbs_0, 5); public RangeAccessor<Vector2> MouseDragMaxDistanceAbs => new RangeAccessor<Vector2>(&NativePtr->MouseDragMaxDistanceAbs_0, 5);

@ -10,10 +10,9 @@ namespace ImGuiNET
public int DisplayStart; public int DisplayStart;
public int DisplayEnd; public int DisplayEnd;
public int ItemsCount; public int ItemsCount;
public int StepNo;
public int ItemsFrozen;
public float ItemsHeight; public float ItemsHeight;
public float StartPosY; public float StartPosY;
public void* TempData;
} }
public unsafe partial struct ImGuiListClipperPtr public unsafe partial struct ImGuiListClipperPtr
{ {
@ -26,10 +25,9 @@ namespace ImGuiNET
public ref int DisplayStart => ref Unsafe.AsRef<int>(&NativePtr->DisplayStart); public ref int DisplayStart => ref Unsafe.AsRef<int>(&NativePtr->DisplayStart);
public ref int DisplayEnd => ref Unsafe.AsRef<int>(&NativePtr->DisplayEnd); public ref int DisplayEnd => ref Unsafe.AsRef<int>(&NativePtr->DisplayEnd);
public ref int ItemsCount => ref Unsafe.AsRef<int>(&NativePtr->ItemsCount); public ref int ItemsCount => ref Unsafe.AsRef<int>(&NativePtr->ItemsCount);
public ref int StepNo => ref Unsafe.AsRef<int>(&NativePtr->StepNo);
public ref int ItemsFrozen => ref Unsafe.AsRef<int>(&NativePtr->ItemsFrozen);
public ref float ItemsHeight => ref Unsafe.AsRef<float>(&NativePtr->ItemsHeight); public ref float ItemsHeight => ref Unsafe.AsRef<float>(&NativePtr->ItemsHeight);
public ref float StartPosY => ref Unsafe.AsRef<float>(&NativePtr->StartPosY); public ref float StartPosY => ref Unsafe.AsRef<float>(&NativePtr->StartPosY);
public IntPtr TempData { get => (IntPtr)NativePtr->TempData; set => NativePtr->TempData = (void*)value; }
public void Begin(int items_count) public void Begin(int items_count)
{ {
float items_height = -1.0f; float items_height = -1.0f;
@ -47,6 +45,10 @@ namespace ImGuiNET
{ {
ImGuiNative.ImGuiListClipper_End((ImGuiListClipper*)(NativePtr)); ImGuiNative.ImGuiListClipper_End((ImGuiListClipper*)(NativePtr));
} }
public void ForceDisplayRangeByIndices(int item_min, int item_max)
{
ImGuiNative.ImGuiListClipper_ForceDisplayRangeByIndices((ImGuiListClipper*)(NativePtr), item_min, item_max);
}
public bool Step() public bool Step()
{ {
byte ret = ImGuiNative.ImGuiListClipper_Step((ImGuiListClipper*)(NativePtr)); byte ret = ImGuiNative.ImGuiListClipper_Step((ImGuiListClipper*)(NativePtr));

@ -65,8 +65,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igCalcItemWidth(); public static extern float igCalcItemWidth();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCalcTextSize(Vector2* pOut, byte* text, byte* text_end, byte hide_text_after_double_hash, float wrap_width); public static extern void igCalcTextSize(Vector2* pOut, byte* text, byte* text_end, byte hide_text_after_double_hash, float wrap_width);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igCaptureKeyboardFromApp(byte want_capture_keyboard_value); public static extern void igCaptureKeyboardFromApp(byte want_capture_keyboard_value);
@ -267,6 +265,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiViewport* igGetMainViewport(); public static extern ImGuiViewport* igGetMainViewport();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern int igGetMouseClickedCount(ImGuiMouseButton button);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiMouseCursor igGetMouseCursor(); public static extern ImGuiMouseCursor igGetMouseCursor();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetMouseDragDelta(Vector2* pOut, ImGuiMouseButton button, float lock_threshold); public static extern void igGetMouseDragDelta(Vector2* pOut, ImGuiMouseButton button, float lock_threshold);
@ -307,8 +307,6 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igGetWindowContentRegionMin(Vector2* pOut); public static extern void igGetWindowContentRegionMin(Vector2* pOut);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowContentRegionWidth();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern uint igGetWindowDockID(); public static extern uint igGetWindowDockID();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern float igGetWindowDpiScale(); public static extern float igGetWindowDpiScale();
@ -637,6 +635,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowMetricsWindow(byte* p_open); public static extern void igShowMetricsWindow(byte* p_open);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowStackToolWindow(byte* p_open);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void igShowStyleEditor(ImGuiStyle* @ref); public static extern void igShowStyleEditor(ImGuiStyle* @ref);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte igShowStyleSelector(byte* label); public static extern byte igShowStyleSelector(byte* label);
@ -1091,6 +1091,8 @@ namespace ImGuiNET
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiListClipper_End(ImGuiListClipper* self); public static extern void ImGuiListClipper_End(ImGuiListClipper* self);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern void ImGuiListClipper_ForceDisplayRangeByIndices(ImGuiListClipper* self, int item_min, int item_max);
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(); public static extern ImGuiListClipper* ImGuiListClipper_ImGuiListClipper();
[DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)] [DllImport("cimgui", CallingConvention = CallingConvention.Cdecl)]
public static extern byte ImGuiListClipper_Step(ImGuiListClipper* self); public static extern byte ImGuiListClipper_Step(ImGuiListClipper* self);

Loading…
Cancel
Save