diff --git a/.gitmodules b/.gitmodules
index b599f50..ab4caae 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,4 @@
[submodule "cimgui"]
path = dependencies/cimgui
- url = https://github.com/cimgui/cimgui
+ url = https://github.com/Fexty12573/cimgui
+ branch = docking_inter
diff --git a/Assets/DebugAssets/ImGui.NET.dll b/Assets/DebugAssets/ImGui.NET.dll
index bd8de55..ad23562 100644
Binary files a/Assets/DebugAssets/ImGui.NET.dll and b/Assets/DebugAssets/ImGui.NET.dll differ
diff --git a/Assets/DebugAssets/cimgui.debug.dll b/Assets/DebugAssets/cimgui.debug.dll
index 4f363a3..fc9d8f7 100644
Binary files a/Assets/DebugAssets/cimgui.debug.dll and b/Assets/DebugAssets/cimgui.debug.dll differ
diff --git a/Assets/ReleaseAssets/ImGui.NET.dll b/Assets/ReleaseAssets/ImGui.NET.dll
index 2f878ff..74252d1 100644
Binary files a/Assets/ReleaseAssets/ImGui.NET.dll and b/Assets/ReleaseAssets/ImGui.NET.dll differ
diff --git a/Assets/ReleaseAssets/cimgui.dll b/Assets/ReleaseAssets/cimgui.dll
index cbbd516..e9d757a 100644
Binary files a/Assets/ReleaseAssets/cimgui.dll and b/Assets/ReleaseAssets/cimgui.dll differ
diff --git a/Examples/DtiHierarchyVisualizer/DtiHierarchyVisualizer.csproj b/Examples/DtiHierarchyVisualizer/DtiHierarchyVisualizer.csproj
index 8f3d888..cad27d6 100644
--- a/Examples/DtiHierarchyVisualizer/DtiHierarchyVisualizer.csproj
+++ b/Examples/DtiHierarchyVisualizer/DtiHierarchyVisualizer.csproj
@@ -8,6 +8,7 @@
+
diff --git a/Examples/ExperimentalTesting/ExperimentalTesting.csproj b/Examples/ExperimentalTesting/ExperimentalTesting.csproj
index dcfb1d6..0ff9843 100644
--- a/Examples/ExperimentalTesting/ExperimentalTesting.csproj
+++ b/Examples/ExperimentalTesting/ExperimentalTesting.csproj
@@ -8,14 +8,16 @@
true
+
+
+
+
False
False
-
+
diff --git a/Examples/PlayerAnimationViewer/PlayerAnimationViewer.csproj b/Examples/PlayerAnimationViewer/PlayerAnimationViewer.csproj
index c5026a8..5800fac 100644
--- a/Examples/PlayerAnimationViewer/PlayerAnimationViewer.csproj
+++ b/Examples/PlayerAnimationViewer/PlayerAnimationViewer.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/SharpPluginLoader.Core/SharpPluginLoader.Core.csproj b/SharpPluginLoader.Core/SharpPluginLoader.Core.csproj
index 63ffc2f..615cc7e 100644
--- a/SharpPluginLoader.Core/SharpPluginLoader.Core.csproj
+++ b/SharpPluginLoader.Core/SharpPluginLoader.Core.csproj
@@ -46,8 +46,8 @@
-
+
diff --git a/dependencies/cimgui b/dependencies/cimgui
index 21e7106..63cf31a 160000
--- a/dependencies/cimgui
+++ b/dependencies/cimgui
@@ -1 +1 @@
-Subproject commit 21e7106aa1ad065e0eccf070ef256b4b27c8145b
+Subproject commit 63cf31a8bbe36d6e03e3415759014ee666b2108b
diff --git a/dependencies/generic/include/cimgui/cimgui.h b/dependencies/generic/include/cimgui/cimgui.h
index d4fffd4..37a1291 100644
--- a/dependencies/generic/include/cimgui/cimgui.h
+++ b/dependencies/generic/include/cimgui/cimgui.h
@@ -1,6 +1,8 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
-//based on imgui.h file version "1.90.0" 19000 from Dear ImGui https://github.com/ocornut/imgui
+//based on imgui.h file version "1.90.2 WIP" 19013 from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
+//with imgui_stacklayout.h api
+//with imgui_stacklayout_internal.h api
//docking branch
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
@@ -184,9 +186,7 @@ typedef int ImGuiTableColumnFlags;
typedef int ImGuiTableRowFlags;
typedef int ImGuiTreeNodeFlags;
typedef int ImGuiViewportFlags;
-typedef int ImGuiWindowFlags;
-typedef void* ImTextureID;
-typedef unsigned short ImDrawIdx;
+typedef int ImGuiWindowFlags;typedef void* ImTextureID;typedef unsigned short ImDrawIdx;
typedef unsigned int ImGuiID;
typedef signed char ImS8;
typedef unsigned char ImU8;
@@ -197,8 +197,7 @@ typedef unsigned int ImU32;
typedef signed long long ImS64;
typedef unsigned long long ImU64;
typedef unsigned int ImWchar32;
-typedef unsigned short ImWchar16;
-typedef ImWchar16 ImWchar;
+typedef unsigned short ImWchar16;typedef ImWchar16 ImWchar;
typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data);
typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data);
@@ -245,6 +244,9 @@ typedef enum {
ImGuiWindowFlags_Modal = 1 << 27,
ImGuiWindowFlags_ChildMenu = 1 << 28,
ImGuiWindowFlags_DockNodeHost = 1 << 29,
+
+
+
}ImGuiWindowFlags_;
typedef enum {
ImGuiChildFlags_None = 0,
@@ -299,6 +301,10 @@ typedef enum {
ImGuiTreeNodeFlags_SpanAllColumns = 1 << 13,
ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 14,
ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog,
+
+
+
+
}ImGuiTreeNodeFlags_;
typedef enum {
ImGuiPopupFlags_None = 0,
@@ -320,6 +326,10 @@ typedef enum {
ImGuiSelectableFlags_AllowDoubleClick = 1 << 2,
ImGuiSelectableFlags_Disabled = 1 << 3,
ImGuiSelectableFlags_AllowOverlap = 1 << 4,
+
+
+
+
}ImGuiSelectableFlags_;
typedef enum {
ImGuiComboFlags_None = 0,
@@ -356,86 +366,8 @@ typedef enum {
ImGuiTabItemFlags_NoReorder = 1 << 5,
ImGuiTabItemFlags_Leading = 1 << 6,
ImGuiTabItemFlags_Trailing = 1 << 7,
+ ImGuiTabItemFlags_NoAssumedClosure = 1 << 8,
}ImGuiTabItemFlags_;
-typedef enum {
- ImGuiTableFlags_None = 0,
- ImGuiTableFlags_Resizable = 1 << 0,
- ImGuiTableFlags_Reorderable = 1 << 1,
- ImGuiTableFlags_Hideable = 1 << 2,
- ImGuiTableFlags_Sortable = 1 << 3,
- ImGuiTableFlags_NoSavedSettings = 1 << 4,
- ImGuiTableFlags_ContextMenuInBody = 1 << 5,
- ImGuiTableFlags_RowBg = 1 << 6,
- ImGuiTableFlags_BordersInnerH = 1 << 7,
- ImGuiTableFlags_BordersOuterH = 1 << 8,
- ImGuiTableFlags_BordersInnerV = 1 << 9,
- ImGuiTableFlags_BordersOuterV = 1 << 10,
- ImGuiTableFlags_BordersH = ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH,
- ImGuiTableFlags_BordersV = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterV,
- ImGuiTableFlags_BordersInner = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersInnerH,
- ImGuiTableFlags_BordersOuter = ImGuiTableFlags_BordersOuterV | ImGuiTableFlags_BordersOuterH,
- ImGuiTableFlags_Borders = ImGuiTableFlags_BordersInner | ImGuiTableFlags_BordersOuter,
- ImGuiTableFlags_NoBordersInBody = 1 << 11,
- ImGuiTableFlags_NoBordersInBodyUntilResize = 1 << 12,
- ImGuiTableFlags_SizingFixedFit = 1 << 13,
- ImGuiTableFlags_SizingFixedSame = 2 << 13,
- ImGuiTableFlags_SizingStretchProp = 3 << 13,
- ImGuiTableFlags_SizingStretchSame = 4 << 13,
- ImGuiTableFlags_NoHostExtendX = 1 << 16,
- ImGuiTableFlags_NoHostExtendY = 1 << 17,
- ImGuiTableFlags_NoKeepColumnsVisible = 1 << 18,
- ImGuiTableFlags_PreciseWidths = 1 << 19,
- ImGuiTableFlags_NoClip = 1 << 20,
- ImGuiTableFlags_PadOuterX = 1 << 21,
- ImGuiTableFlags_NoPadOuterX = 1 << 22,
- ImGuiTableFlags_NoPadInnerX = 1 << 23,
- ImGuiTableFlags_ScrollX = 1 << 24,
- ImGuiTableFlags_ScrollY = 1 << 25,
- ImGuiTableFlags_SortMulti = 1 << 26,
- ImGuiTableFlags_SortTristate = 1 << 27,
- ImGuiTableFlags_HighlightHoveredColumn = 1 << 28,
- ImGuiTableFlags_SizingMask_ = ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_SizingFixedSame | ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_SizingStretchSame,
-}ImGuiTableFlags_;
-typedef enum {
- ImGuiTableColumnFlags_None = 0,
- ImGuiTableColumnFlags_Disabled = 1 << 0,
- ImGuiTableColumnFlags_DefaultHide = 1 << 1,
- ImGuiTableColumnFlags_DefaultSort = 1 << 2,
- ImGuiTableColumnFlags_WidthStretch = 1 << 3,
- ImGuiTableColumnFlags_WidthFixed = 1 << 4,
- ImGuiTableColumnFlags_NoResize = 1 << 5,
- ImGuiTableColumnFlags_NoReorder = 1 << 6,
- ImGuiTableColumnFlags_NoHide = 1 << 7,
- ImGuiTableColumnFlags_NoClip = 1 << 8,
- ImGuiTableColumnFlags_NoSort = 1 << 9,
- ImGuiTableColumnFlags_NoSortAscending = 1 << 10,
- ImGuiTableColumnFlags_NoSortDescending = 1 << 11,
- ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12,
- ImGuiTableColumnFlags_NoHeaderWidth = 1 << 13,
- ImGuiTableColumnFlags_PreferSortAscending = 1 << 14,
- ImGuiTableColumnFlags_PreferSortDescending = 1 << 15,
- ImGuiTableColumnFlags_IndentEnable = 1 << 16,
- ImGuiTableColumnFlags_IndentDisable = 1 << 17,
- ImGuiTableColumnFlags_AngledHeader = 1 << 18,
- ImGuiTableColumnFlags_IsEnabled = 1 << 24,
- ImGuiTableColumnFlags_IsVisible = 1 << 25,
- ImGuiTableColumnFlags_IsSorted = 1 << 26,
- ImGuiTableColumnFlags_IsHovered = 1 << 27,
- ImGuiTableColumnFlags_WidthMask_ = ImGuiTableColumnFlags_WidthStretch | ImGuiTableColumnFlags_WidthFixed,
- ImGuiTableColumnFlags_IndentMask_ = ImGuiTableColumnFlags_IndentEnable | ImGuiTableColumnFlags_IndentDisable,
- ImGuiTableColumnFlags_StatusMask_ = ImGuiTableColumnFlags_IsEnabled | ImGuiTableColumnFlags_IsVisible | ImGuiTableColumnFlags_IsSorted | ImGuiTableColumnFlags_IsHovered,
- ImGuiTableColumnFlags_NoDirectResize_ = 1 << 30,
-}ImGuiTableColumnFlags_;
-typedef enum {
- ImGuiTableRowFlags_None = 0,
- ImGuiTableRowFlags_Headers = 1 << 0,
-}ImGuiTableRowFlags_;
-typedef enum {
- ImGuiTableBgTarget_None = 0,
- ImGuiTableBgTarget_RowBg0 = 1,
- ImGuiTableBgTarget_RowBg1 = 2,
- ImGuiTableBgTarget_CellBg = 3,
-}ImGuiTableBgTarget_;
typedef enum {
ImGuiFocusedFlags_None = 0,
ImGuiFocusedFlags_ChildWindows = 1 << 0,
@@ -477,6 +409,11 @@ typedef enum {
ImGuiDockNodeFlags_NoResize = 1 << 5,
ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6,
ImGuiDockNodeFlags_NoUndocking = 1 << 7,
+
+
+
+
+
}ImGuiDockNodeFlags_;
typedef enum {
ImGuiDragDropFlags_None = 0,
@@ -801,6 +738,7 @@ typedef enum {
ImGuiStyleVar_SeparatorTextAlign,
ImGuiStyleVar_SeparatorTextPadding,
ImGuiStyleVar_DockingSeparatorSize,
+ ImGuiStyleVar_LayoutAlign,
ImGuiStyleVar_COUNT
}ImGuiStyleVar_;
typedef enum {
@@ -882,6 +820,98 @@ typedef enum {
ImGuiCond_FirstUseEver = 1 << 2,
ImGuiCond_Appearing = 1 << 3,
}ImGuiCond_;
+typedef enum {
+ ImGuiTableFlags_None = 0,
+ ImGuiTableFlags_Resizable = 1 << 0,
+ ImGuiTableFlags_Reorderable = 1 << 1,
+ ImGuiTableFlags_Hideable = 1 << 2,
+ ImGuiTableFlags_Sortable = 1 << 3,
+ ImGuiTableFlags_NoSavedSettings = 1 << 4,
+ ImGuiTableFlags_ContextMenuInBody = 1 << 5,
+ ImGuiTableFlags_RowBg = 1 << 6,
+ ImGuiTableFlags_BordersInnerH = 1 << 7,
+ ImGuiTableFlags_BordersOuterH = 1 << 8,
+ ImGuiTableFlags_BordersInnerV = 1 << 9,
+ ImGuiTableFlags_BordersOuterV = 1 << 10,
+ ImGuiTableFlags_BordersH = ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH,
+ ImGuiTableFlags_BordersV = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterV,
+ ImGuiTableFlags_BordersInner = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersInnerH,
+ ImGuiTableFlags_BordersOuter = ImGuiTableFlags_BordersOuterV | ImGuiTableFlags_BordersOuterH,
+ ImGuiTableFlags_Borders = ImGuiTableFlags_BordersInner | ImGuiTableFlags_BordersOuter,
+ ImGuiTableFlags_NoBordersInBody = 1 << 11,
+ ImGuiTableFlags_NoBordersInBodyUntilResize = 1 << 12,
+ ImGuiTableFlags_SizingFixedFit = 1 << 13,
+ ImGuiTableFlags_SizingFixedSame = 2 << 13,
+ ImGuiTableFlags_SizingStretchProp = 3 << 13,
+ ImGuiTableFlags_SizingStretchSame = 4 << 13,
+ ImGuiTableFlags_NoHostExtendX = 1 << 16,
+ ImGuiTableFlags_NoHostExtendY = 1 << 17,
+ ImGuiTableFlags_NoKeepColumnsVisible = 1 << 18,
+ ImGuiTableFlags_PreciseWidths = 1 << 19,
+ ImGuiTableFlags_NoClip = 1 << 20,
+ ImGuiTableFlags_PadOuterX = 1 << 21,
+ ImGuiTableFlags_NoPadOuterX = 1 << 22,
+ ImGuiTableFlags_NoPadInnerX = 1 << 23,
+ ImGuiTableFlags_ScrollX = 1 << 24,
+ ImGuiTableFlags_ScrollY = 1 << 25,
+ ImGuiTableFlags_SortMulti = 1 << 26,
+ ImGuiTableFlags_SortTristate = 1 << 27,
+ ImGuiTableFlags_HighlightHoveredColumn = 1 << 28,
+ ImGuiTableFlags_SizingMask_ = ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_SizingFixedSame | ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_SizingStretchSame,
+}ImGuiTableFlags_;
+typedef enum {
+ ImGuiTableColumnFlags_None = 0,
+ ImGuiTableColumnFlags_Disabled = 1 << 0,
+ ImGuiTableColumnFlags_DefaultHide = 1 << 1,
+ ImGuiTableColumnFlags_DefaultSort = 1 << 2,
+ ImGuiTableColumnFlags_WidthStretch = 1 << 3,
+ ImGuiTableColumnFlags_WidthFixed = 1 << 4,
+ ImGuiTableColumnFlags_NoResize = 1 << 5,
+ ImGuiTableColumnFlags_NoReorder = 1 << 6,
+ ImGuiTableColumnFlags_NoHide = 1 << 7,
+ ImGuiTableColumnFlags_NoClip = 1 << 8,
+ ImGuiTableColumnFlags_NoSort = 1 << 9,
+ ImGuiTableColumnFlags_NoSortAscending = 1 << 10,
+ ImGuiTableColumnFlags_NoSortDescending = 1 << 11,
+ ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12,
+ ImGuiTableColumnFlags_NoHeaderWidth = 1 << 13,
+ ImGuiTableColumnFlags_PreferSortAscending = 1 << 14,
+ ImGuiTableColumnFlags_PreferSortDescending = 1 << 15,
+ ImGuiTableColumnFlags_IndentEnable = 1 << 16,
+ ImGuiTableColumnFlags_IndentDisable = 1 << 17,
+ ImGuiTableColumnFlags_AngledHeader = 1 << 18,
+ ImGuiTableColumnFlags_IsEnabled = 1 << 24,
+ ImGuiTableColumnFlags_IsVisible = 1 << 25,
+ ImGuiTableColumnFlags_IsSorted = 1 << 26,
+ ImGuiTableColumnFlags_IsHovered = 1 << 27,
+ ImGuiTableColumnFlags_WidthMask_ = ImGuiTableColumnFlags_WidthStretch | ImGuiTableColumnFlags_WidthFixed,
+ ImGuiTableColumnFlags_IndentMask_ = ImGuiTableColumnFlags_IndentEnable | ImGuiTableColumnFlags_IndentDisable,
+ ImGuiTableColumnFlags_StatusMask_ = ImGuiTableColumnFlags_IsEnabled | ImGuiTableColumnFlags_IsVisible | ImGuiTableColumnFlags_IsSorted | ImGuiTableColumnFlags_IsHovered,
+ ImGuiTableColumnFlags_NoDirectResize_ = 1 << 30,
+}ImGuiTableColumnFlags_;
+typedef enum {
+ ImGuiTableRowFlags_None = 0,
+ ImGuiTableRowFlags_Headers = 1 << 0,
+}ImGuiTableRowFlags_;
+typedef enum {
+ ImGuiTableBgTarget_None = 0,
+ ImGuiTableBgTarget_RowBg0 = 1,
+ ImGuiTableBgTarget_RowBg1 = 2,
+ ImGuiTableBgTarget_CellBg = 3,
+}ImGuiTableBgTarget_;
+struct ImGuiTableSortSpecs
+{
+ const ImGuiTableColumnSortSpecs* Specs;
+ int SpecsCount;
+ bool SpecsDirty;
+};
+struct ImGuiTableColumnSortSpecs
+{
+ ImGuiID ColumnUserID;
+ ImS16 ColumnIndex;
+ ImS16 SortOrder;
+ ImGuiSortDirection SortDirection : 8;
+};
struct ImGuiStyle
{
float Alpha;
@@ -909,6 +939,7 @@ struct ImGuiStyle
float ScrollbarRounding;
float GrabMinSize;
float GrabRounding;
+ float LayoutAlign;
float LogSliderDeadzone;
float TabRounding;
float TabBorderSize;
@@ -947,16 +978,14 @@ struct ImGuiKeyData
typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
struct ImGuiIO
-{
- ImGuiConfigFlags ConfigFlags;
+{ ImGuiConfigFlags ConfigFlags;
ImGuiBackendFlags BackendFlags;
ImVec2 DisplaySize;
float DeltaTime;
float IniSavingRate;
const char* IniFilename;
const char* LogFilename;
- void* UserData;
- ImFontAtlas*Fonts;
+ void* UserData; ImFontAtlas*Fonts;
float FontGlobalScale;
bool FontAllowUserScaling;
ImFont* FontDefault;
@@ -983,6 +1012,7 @@ struct ImGuiIO
float MouseDragThreshold;
float KeyRepeatDelay;
float KeyRepeatRate;
+ bool ConfigDebugIsDebuggerPresent;
bool ConfigDebugBeginReturnValueOnce;
bool ConfigDebugBeginReturnValueLoop;
bool ConfigDebugIgnoreFocusLoss;
@@ -996,8 +1026,7 @@ struct ImGuiIO
void (*SetClipboardTextFn)(void* user_data, const char* text);
void* ClipboardUserData;
void (*SetPlatformImeDataFn)(ImGuiViewport* viewport, ImGuiPlatformImeData* data);
- ImWchar PlatformLocaleDecimalPoint;
- bool WantCaptureMouse;
+ ImWchar PlatformLocaleDecimalPoint; bool WantCaptureMouse;
bool WantCaptureKeyboard;
bool WantTextInput;
bool WantSetMousePos;
@@ -1009,9 +1038,7 @@ struct ImGuiIO
int MetricsRenderIndices;
int MetricsRenderWindows;
int MetricsActiveWindows;
- ImVec2 MouseDelta;
- void* _UnusedPadding;
- ImGuiContext* Ctx;
+ ImVec2 MouseDelta; ImGuiContext* Ctx;
ImVec2 MousePos;
bool MouseDown[5];
float MouseWheel;
@@ -1075,6 +1102,7 @@ struct ImGuiWindowClass
{
ImGuiID ClassId;
ImGuiID ParentViewportId;
+ ImGuiID FocusRouteParentWindowId;
ImGuiViewportFlags ViewportFlagsOverrideSet;
ImGuiViewportFlags ViewportFlagsOverrideClear;
ImGuiTabItemFlags TabItemFlagsOverrideSet;
@@ -1093,19 +1121,6 @@ struct ImGuiPayload
bool Preview;
bool Delivery;
};
-struct ImGuiTableColumnSortSpecs
-{
- ImGuiID ColumnUserID;
- ImS16 ColumnIndex;
- ImS16 SortOrder;
- ImGuiSortDirection SortDirection : 8;
-};
-struct ImGuiTableSortSpecs
-{
- const ImGuiTableColumnSortSpecs* Specs;
- int SpecsCount;
- bool SpecsDirty;
-};
struct ImGuiOnceUponAFrame
{
int RefFrame;
@@ -1142,8 +1157,7 @@ typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
struct ImGuiStorage
-{
- ImVector_ImGuiStoragePair Data;
+{ ImVector_ImGuiStoragePair Data;
};
typedef struct ImGuiStoragePair ImGuiStoragePair;
struct ImGuiListClipper
@@ -1325,8 +1339,7 @@ typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlas
typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig;
struct ImFontAtlas
-{
- ImFontAtlasFlags Flags;
+{ ImFontAtlasFlags Flags;
ImTextureID TexID;
int TexDesiredWidth;
int TexGlyphPadding;
@@ -1456,8 +1469,7 @@ struct ImGuiPlatformImeData
bool WantVisible;
ImVec2 InputPos;
float InputLineHeight;
-};
-struct ImBitVector;
+};struct ImBitVector;
struct ImRect;
struct ImDrawDataBuilder;
struct ImDrawListSharedData;
@@ -1518,8 +1530,7 @@ typedef int ImGuiSeparatorFlags;
typedef int ImGuiTextFlags;
typedef int ImGuiTooltipFlags;
typedef int ImGuiTypingSelectFlags;
-typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...);
-extern ImGuiContext* GImGui;
+typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...);extern ImGuiContext* GImGui;
typedef struct StbUndoRecord StbUndoRecord;
struct StbUndoRecord
{
@@ -1538,12 +1549,8 @@ struct StbUndoState
};
typedef struct STB_TexteditState STB_TexteditState;
struct STB_TexteditState
-{
- int cursor;
- int select_start;
- int select_end;
- unsigned char insert_mode;
- int row_count_per_page;
+{ int cursor; int select_start;
+ int select_end; unsigned char insert_mode; int row_count_per_page;
unsigned char cursor_at_end_of_line;
unsigned char initialized;
unsigned char has_preferred_x;
@@ -1575,8 +1582,7 @@ struct ImRect
{
ImVec2 Min;
ImVec2 Max;
-};
-typedef ImU32* ImBitArrayPtr;
+};typedef ImU32* ImBitArrayPtr;
struct ImBitVector
{
ImVector_ImU32 Storage;
@@ -1635,8 +1641,15 @@ typedef enum {
ImGuiItemStatusFlags_HasDeactivated = 1 << 5,
ImGuiItemStatusFlags_Deactivated = 1 << 6,
ImGuiItemStatusFlags_HoveredWindow = 1 << 7,
- ImGuiItemStatusFlags_FocusedByTabbing = 1 << 8,
- ImGuiItemStatusFlags_Visible = 1 << 9,
+ ImGuiItemStatusFlags_Visible = 1 << 8,
+ ImGuiItemStatusFlags_HasClipRect = 1 << 9,
+
+
+
+
+
+
+
}ImGuiItemStatusFlags_;
typedef enum {
ImGuiHoveredFlags_DelayMask_ = ImGuiHoveredFlags_DelayNone | ImGuiHoveredFlags_DelayShort | ImGuiHoveredFlags_DelayNormal | ImGuiHoveredFlags_NoSharedDelay,
@@ -1888,10 +1901,10 @@ struct ImGuiNextItemData
{
ImGuiNextItemDataFlags Flags;
ImGuiItemFlags ItemFlags;
- float Width;
ImGuiSelectionUserData SelectionUserData;
- ImGuiCond OpenCond;
+ float Width;
bool OpenVal;
+ ImGuiCond OpenCond : 8;
};
struct ImGuiLastItemData
{
@@ -1901,6 +1914,7 @@ struct ImGuiLastItemData
ImRect Rect;
ImRect NavRect;
ImRect DisplayRect;
+ ImRect ClipRect;
};
struct ImGuiNavTreeNodeData
{
@@ -2007,13 +2021,13 @@ struct ImGuiInputEvent
ImGuiInputEventAppFocused AppFocused;
};
bool AddedByTestEngine;
-};
-typedef ImS16 ImGuiKeyRoutingIndex;
+};typedef ImS16 ImGuiKeyRoutingIndex;
typedef struct ImGuiKeyRoutingData ImGuiKeyRoutingData;
struct ImGuiKeyRoutingData
{
ImGuiKeyRoutingIndex NextEntryIndex;
ImU16 Mods;
+ ImU8 RoutingCurrScore;
ImU8 RoutingNextScore;
ImGuiID RoutingCurr;
ImGuiID RoutingNext;
@@ -2041,23 +2055,29 @@ typedef enum {
ImGuiInputFlags_RepeatRateDefault = 1 << 1,
ImGuiInputFlags_RepeatRateNavMove = 1 << 2,
ImGuiInputFlags_RepeatRateNavTweak = 1 << 3,
- ImGuiInputFlags_RepeatRateMask_ = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak,
- ImGuiInputFlags_CondHovered = 1 << 4,
- ImGuiInputFlags_CondActive = 1 << 5,
+ ImGuiInputFlags_RepeatUntilRelease = 1 << 4,
+ ImGuiInputFlags_RepeatUntilKeyModsChange = 1 << 5,
+ ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone = 1 << 6,
+ ImGuiInputFlags_RepeatUntilOtherKeyPress = 1 << 7,
+ ImGuiInputFlags_CondHovered = 1 << 8,
+ ImGuiInputFlags_CondActive = 1 << 9,
ImGuiInputFlags_CondDefault_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive,
+ ImGuiInputFlags_LockThisFrame = 1 << 10,
+ ImGuiInputFlags_LockUntilRelease = 1 << 11,
+ ImGuiInputFlags_RouteFocused = 1 << 12,
+ ImGuiInputFlags_RouteGlobalLow = 1 << 13,
+ ImGuiInputFlags_RouteGlobal = 1 << 14,
+ ImGuiInputFlags_RouteGlobalHigh = 1 << 15,
+ ImGuiInputFlags_RouteAlways = 1 << 16,
+ ImGuiInputFlags_RouteUnlessBgFocused= 1 << 17,
+ ImGuiInputFlags_RepeatRateMask_ = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak,
+ ImGuiInputFlags_RepeatUntilMask_ = ImGuiInputFlags_RepeatUntilRelease | ImGuiInputFlags_RepeatUntilKeyModsChange | ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone | ImGuiInputFlags_RepeatUntilOtherKeyPress,
+ ImGuiInputFlags_RepeatMask_ = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_ | ImGuiInputFlags_RepeatUntilMask_,
ImGuiInputFlags_CondMask_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive,
- ImGuiInputFlags_LockThisFrame = 1 << 6,
- ImGuiInputFlags_LockUntilRelease = 1 << 7,
- ImGuiInputFlags_RouteFocused = 1 << 8,
- ImGuiInputFlags_RouteGlobalLow = 1 << 9,
- ImGuiInputFlags_RouteGlobal = 1 << 10,
- ImGuiInputFlags_RouteGlobalHigh = 1 << 11,
ImGuiInputFlags_RouteMask_ = ImGuiInputFlags_RouteFocused | ImGuiInputFlags_RouteGlobal | ImGuiInputFlags_RouteGlobalLow | ImGuiInputFlags_RouteGlobalHigh,
- ImGuiInputFlags_RouteAlways = 1 << 12,
- ImGuiInputFlags_RouteUnlessBgFocused= 1 << 13,
- ImGuiInputFlags_RouteExtraMask_ = ImGuiInputFlags_RouteAlways | ImGuiInputFlags_RouteUnlessBgFocused,
- ImGuiInputFlags_SupportedByIsKeyPressed = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_,
- ImGuiInputFlags_SupportedByShortcut = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_ | ImGuiInputFlags_RouteMask_ | ImGuiInputFlags_RouteExtraMask_,
+ ImGuiInputFlags_SupportedByIsKeyPressed = ImGuiInputFlags_RepeatMask_,
+ ImGuiInputFlags_SupportedByIsMouseClicked = ImGuiInputFlags_Repeat,
+ ImGuiInputFlags_SupportedByShortcut = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteMask_ | ImGuiInputFlags_RouteAlways | ImGuiInputFlags_RouteUnlessBgFocused,
ImGuiInputFlags_SupportedBySetKeyOwner = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease,
ImGuiInputFlags_SupportedBySetItemKeyOwner = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_,
}ImGuiInputFlags_;
@@ -2086,6 +2106,7 @@ typedef enum {
ImGuiActivateFlags_PreferInput = 1 << 0,
ImGuiActivateFlags_PreferTweak = 1 << 1,
ImGuiActivateFlags_TryToPreserveState = 1 << 2,
+ ImGuiActivateFlags_FromTabbing = 1 << 3,
}ImGuiActivateFlags_;
typedef enum {
ImGuiScrollFlags_None = 0,
@@ -2142,6 +2163,12 @@ struct ImGuiNavItemData
float DistCenter;
float DistAxial;
};
+typedef struct ImGuiFocusScopeData ImGuiFocusScopeData;
+struct ImGuiFocusScopeData
+{
+ ImGuiID ID;
+ ImGuiID WindowID;
+};
typedef enum {
ImGuiTypingSelectFlags_None = 0,
ImGuiTypingSelectFlags_AllowBackspace = 1 << 0,
@@ -2209,6 +2236,7 @@ typedef enum {
ImGuiDockNodeFlags_NoCloseButton = 1 << 15,
ImGuiDockNodeFlags_NoResizeX = 1 << 16,
ImGuiDockNodeFlags_NoResizeY = 1 << 17,
+ ImGuiDockNodeFlags_DockedWindowsInFocusRoute= 1 << 18,
ImGuiDockNodeFlags_NoDockingSplitOther = 1 << 19,
ImGuiDockNodeFlags_NoDockingOverMe = 1 << 20,
ImGuiDockNodeFlags_NoDockingOverOther = 1 << 21,
@@ -2249,8 +2277,7 @@ struct ImGuiDockNode
ImVec2 SizeRef;
ImGuiAxis SplitAxis;
ImGuiWindowClass WindowClass;
- ImU32 LastBgColor;
- ImGuiWindow* HostWindow;
+ ImU32 LastBgColor; ImGuiWindow* HostWindow;
ImGuiWindow* VisibleWindow;
ImGuiDockNode* CentralNode;
ImGuiDockNode* OnlyNodeWithWindows;
@@ -2383,11 +2410,13 @@ typedef enum {
ImGuiDebugLogFlags_EventClipper = 1 << 4,
ImGuiDebugLogFlags_EventSelection = 1 << 5,
ImGuiDebugLogFlags_EventIO = 1 << 6,
- ImGuiDebugLogFlags_EventDocking = 1 << 7,
- ImGuiDebugLogFlags_EventViewport = 1 << 8,
- ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
- ImGuiDebugLogFlags_OutputToTTY = 1 << 10,
- ImGuiDebugLogFlags_OutputToTestEngine = 1 << 11,
+ ImGuiDebugLogFlags_EventInputRouting = 1 << 7,
+ ImGuiDebugLogFlags_EventDocking = 1 << 8,
+ ImGuiDebugLogFlags_EventViewport = 1 << 9,
+
+ ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
+ ImGuiDebugLogFlags_OutputToTTY = 1 << 20,
+ ImGuiDebugLogFlags_OutputToTestEngine = 1 << 21,
}ImGuiDebugLogFlags_;
typedef struct ImGuiDebugAllocEntry ImGuiDebugAllocEntry;
struct ImGuiDebugAllocEntry
@@ -2413,6 +2442,7 @@ struct ImGuiMetricsConfig
bool ShowTablesRects;
bool ShowDrawCmdMesh;
bool ShowDrawCmdBoundingBoxes;
+ bool ShowTextEncodingViewer;
bool ShowAtlasTintedWithTextColor;
bool ShowDockingNodes;
int ShowWindowsRectsType;
@@ -2457,7 +2487,7 @@ typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
-typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
+typedef struct ImVector_ImGuiFocusScopeData {int Size;int Capacity;ImGuiFocusScopeData* Data;} ImVector_ImGuiFocusScopeData;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
@@ -2487,6 +2517,8 @@ typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex*
typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
+typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
+
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_char Buf;} ImChunkStream_ImGuiWindowSettings;
@@ -2530,6 +2562,7 @@ struct ImGuiContext
ImGuiStorage WindowsById;
int WindowsActiveCount;
ImVec2 WindowsHoverPadding;
+ ImGuiID DebugBreakInWindow;
ImGuiWindow* CurrentWindow;
ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredWindowUnderMovingWindow;
@@ -2567,10 +2600,15 @@ struct ImGuiContext
ImGuiWindow* ActiveIdPreviousFrameWindow;
ImGuiID LastActiveId;
float LastActiveIdTimer;
+ double LastKeyModsChangeTime;
+ double LastKeyModsChangeFromNoneTime;
+ double LastKeyboardKeyPressTime;
+ ImBitArrayForNamedKeys KeysMayBeCharInput;
ImGuiKeyOwnerData KeysOwnerData[ImGuiKey_NamedKey_COUNT];
ImGuiKeyRoutingTable KeysRoutingTable;
ImU32 ActiveIdUsingNavDirMask;
bool ActiveIdUsingAllKeyboardKeys;
+ ImGuiKeyChord DebugBreakInShortcutRouting;
ImGuiID CurrentFocusScopeId;
ImGuiItemFlags CurrentItemFlags;
ImGuiID DebugLocateId;
@@ -2578,16 +2616,16 @@ struct ImGuiContext
ImGuiLastItemData LastItemData;
ImGuiNextWindowData NextWindowData;
bool DebugShowGroupRects;
+ ImGuiCol DebugFlashStyleColorIdx;
ImVector_ImGuiColorMod ColorStack;
ImVector_ImGuiStyleMod StyleVarStack;
ImVector_ImFontPtr FontStack;
- ImVector_ImGuiID FocusScopeStack;
+ ImVector_ImGuiFocusScopeData FocusScopeStack;
ImVector_ImGuiItemFlags ItemFlagsStack;
ImVector_ImGuiGroupData GroupStack;
ImVector_ImGuiPopupData OpenPopupStack;
ImVector_ImGuiPopupData BeginPopupStack;
- ImVector_ImGuiNavTreeNodeData NavTreeNodeStack;
- int BeginMenuCount;
+ ImVector_ImGuiNavTreeNodeData NavTreeNodeStack; int BeginMenuCount;
ImVector_ImGuiViewportPPtr Viewports;
float CurrentDpiScale;
ImGuiViewportP* CurrentViewport;
@@ -2601,6 +2639,7 @@ struct ImGuiContext
ImGuiWindow* NavWindow;
ImGuiID NavId;
ImGuiID NavFocusScopeId;
+ ImVector_ImGuiFocusScopeData NavFocusRoute;
ImGuiID NavActivateId;
ImGuiID NavActivateDownId;
ImGuiID NavActivatePressedId;
@@ -2658,6 +2697,7 @@ struct ImGuiContext
int DragDropMouseButton;
ImGuiPayload DragDropPayload;
ImRect DragDropTargetRect;
+ ImRect DragDropTargetClipRect;
ImGuiID DragDropTargetId;
ImGuiDragDropFlags DragDropAcceptFlags;
float DragDropAcceptIdCurrRectSurface;
@@ -2670,6 +2710,7 @@ struct ImGuiContext
int ClipperTempDataStacked;
ImVector_ImGuiListClipperData ClipperTempData;
ImGuiTable* CurrentTable;
+ ImGuiID DebugBreakInTable;
int TablesTempDataStacked;
ImVector_ImGuiTableTempData TablesTempData;
ImPool_ImGuiTable Tables;
@@ -2744,12 +2785,17 @@ struct ImGuiContext
ImGuiDebugLogFlags DebugLogFlags;
ImGuiTextBuffer DebugLogBuf;
ImGuiTextIndex DebugLogIndex;
- ImU8 DebugLogClipperAutoDisableFrames;
+ ImGuiDebugLogFlags DebugLogAutoDisableFlags;
+ ImU8 DebugLogAutoDisableFrames;
ImU8 DebugLocateFrames;
+ bool DebugBreakInLocateId;
+ ImGuiKeyChord DebugBreakKeyChord;
ImS8 DebugBeginReturnValueCullDepth;
bool DebugItemPickerActive;
ImU8 DebugItemPickerMouseButton;
ImGuiID DebugItemPickerBreakId;
+ float DebugFlashStyleColorTime;
+ ImVec4 DebugFlashStyleColorBackup;
ImGuiMetricsConfig DebugMetricsConfig;
ImGuiIDStackTool DebugIDStackTool;
ImGuiDebugAllocInfo DebugAllocInfo;
@@ -2762,6 +2808,7 @@ struct ImGuiContext
int WantCaptureKeyboardNextFrame;
int WantTextInputNextFrame;
ImVector_char TempBuffer;
+ char TempKeychordName[64];
};
struct ImGuiWindowTempData
{
@@ -2871,8 +2918,7 @@ struct ImGuiWindow
ImGuiCond SetWindowCollapsedAllowFlags : 8;
ImGuiCond SetWindowDockAllowFlags : 8;
ImVec2 SetWindowPosVal;
- ImVec2 SetWindowPosPivot;
- ImVector_ImGuiID IDStack;
+ ImVec2 SetWindowPosPivot; ImVector_ImGuiID IDStack;
ImGuiWindowTempData DC;
ImRect OuterRectClipped;
ImRect InnerRect;
@@ -2882,8 +2928,7 @@ struct ImGuiWindow
ImRect ClipRect;
ImRect ContentRegionRect;
ImVec2ih HitTestHoleSize;
- ImVec2ih HitTestHoleOffset;
- int LastFrameActive;
+ ImVec2ih HitTestHoleOffset; int LastFrameActive;
int LastFrameJustFocused;
float LastTimeActive;
float ItemWidthDefault;
@@ -2891,8 +2936,7 @@ struct ImGuiWindow
ImVector_ImGuiOldColumns ColumnsStorage;
float FontWindowScale;
float FontDpiScale;
- int SettingsOffset;
- ImDrawList* DrawList;
+ int SettingsOffset; ImDrawList* DrawList;
ImDrawList DrawListInst;
ImGuiWindow* ParentWindow;
ImGuiWindow* ParentWindowInBeginStack;
@@ -2901,12 +2945,11 @@ struct ImGuiWindow
ImGuiWindow* RootWindowDockTree;
ImGuiWindow* RootWindowForTitleBarHighlight;
ImGuiWindow* RootWindowForNav;
- ImGuiWindow* NavLastChildNavWindow;
+ ImGuiWindow* ParentWindowForFocusRoute; ImGuiWindow* NavLastChildNavWindow;
ImGuiID NavLastIds[ImGuiNavLayer_COUNT];
ImRect NavRectRel[ImGuiNavLayer_COUNT];
ImVec2 NavPreferredScoringPosRel[ImGuiNavLayer_COUNT];
- ImGuiID NavRootFocusScopeId;
- int MemoryDrawListIdxCapacity;
+ ImGuiID NavRootFocusScopeId; int MemoryDrawListIdxCapacity;
int MemoryDrawListVtxCapacity;
bool MemoryCompacted;
bool DockIsActive :1;
@@ -3176,10 +3219,8 @@ struct ImGuiTableTempData
{
int TableIndex;
float LastTimeActive;
- float AngledheadersExtraWidth;
- ImVec2 UserOuterSize;
- ImDrawListSplitter DrawSplitter;
- ImRect HostBackupWorkRect;
+ float AngledheadersExtraWidth; ImVec2 UserOuterSize;
+ ImDrawListSplitter DrawSplitter; ImRect HostBackupWorkRect;
ImRect HostBackupParentWorkRect;
ImVec2 HostBackupPrevLineSize;
ImVec2 HostBackupCurrLineSize;
@@ -3224,6 +3265,10 @@ typedef union SDL_Event SDL_Event;
#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiStorage::ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
+typedef ImStb::STB_TexteditState STB_TexteditState;
+typedef ImStb::StbTexteditRow StbTexteditRow;
+typedef ImStb::StbUndoRecord StbUndoRecord;
+typedef ImStb::StbUndoState StbUndoState;
typedef ImChunkStream ImChunkStream_ImGuiTableSettings;
typedef ImChunkStream ImChunkStream_ImGuiWindowSettings;
typedef ImPool ImPool_ImGuiTabBar;
@@ -3244,6 +3289,7 @@ typedef ImVector ImVector_ImGuiColorMod;
typedef ImVector ImVector_ImGuiContextHook;
typedef ImVector ImVector_ImGuiDockNodeSettings;
typedef ImVector ImVector_ImGuiDockRequest;
+typedef ImVector ImVector_ImGuiFocusScopeData;
typedef ImVector ImVector_ImGuiGroupData;
typedef ImVector ImVector_ImGuiID;
typedef ImVector ImVector_ImGuiInputEvent;
@@ -3440,7 +3486,7 @@ CIMGUI_API bool igRadioButton_Bool(const char* label,bool active);
CIMGUI_API bool igRadioButton_IntPtr(const char* label,int* v,int v_button);
CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay);
CIMGUI_API void igBullet(void);
-CIMGUI_API void igImage(ImTextureID user_texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 tint_col,const ImVec4 border_col);
+CIMGUI_API void igImage(ImTextureID user_texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 tint_col,const ImVec4 border_col);
CIMGUI_API bool igImageButton(const char* str_id,ImTextureID user_texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col);
CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags);
CIMGUI_API void igEndCombo(void);
@@ -3673,6 +3719,7 @@ CIMGUI_API void igLoadIniSettingsFromMemory(const char* ini_data,size_t ini_size
CIMGUI_API void igSaveIniSettingsToDisk(const char* ini_filename);
CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size);
CIMGUI_API void igDebugTextEncoding(const char* text);
+CIMGUI_API void igDebugFlashStyleColor(ImGuiCol idx);
CIMGUI_API bool igDebugCheckVersionAndDataLayout(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);
CIMGUI_API void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func,ImGuiMemFreeFunc free_func,void* user_data);
CIMGUI_API void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func,ImGuiMemFreeFunc* p_free_func,void** p_user_data);
@@ -3684,6 +3731,10 @@ CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg,void* r
CIMGUI_API void igDestroyPlatformWindows(void);
CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id);
CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle);
+CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void);
+CIMGUI_API void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self);
+CIMGUI_API ImGuiTableColumnSortSpecs* ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs(void);
+CIMGUI_API void ImGuiTableColumnSortSpecs_destroy(ImGuiTableColumnSortSpecs* self);
CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void);
CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self);
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
@@ -3719,10 +3770,6 @@ CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type);
CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self);
CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self);
-CIMGUI_API ImGuiTableColumnSortSpecs* ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs(void);
-CIMGUI_API void ImGuiTableColumnSortSpecs_destroy(ImGuiTableColumnSortSpecs* self);
-CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void);
-CIMGUI_API void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self);
CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void);
CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self);
CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter);
@@ -3939,6 +3986,19 @@ CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData(void);
CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self);
CIMGUI_API ImGuiKey igGetKeyIndex(ImGuiKey key);
+CIMGUI_API void igBeginHorizontal_Str(const char* str_id,const ImVec2 size,float align);
+CIMGUI_API void igBeginHorizontal_Ptr(const void* ptr_id,const ImVec2 size,float align);
+CIMGUI_API void igBeginHorizontal_Int(int id,const ImVec2 size,float align);
+CIMGUI_API void igEndHorizontal(void);
+CIMGUI_API void igBeginVertical_Str(const char* str_id,const ImVec2 size,float align);
+CIMGUI_API void igBeginVertical_Ptr(const void* ptr_id,const ImVec2 size,float align);
+CIMGUI_API void igBeginVertical_Int(int id,const ImVec2 size,float align);
+CIMGUI_API void igEndVertical(void);
+CIMGUI_API void igSpring(float weight,float spacing);
+CIMGUI_API void igSuspendLayout(void);
+CIMGUI_API void igResumeLayout(void);
+CIMGUI_API ImGuiLayoutType ImGuiInternal_GetCurrentLayoutType(ImGuiID window_id);
+CIMGUI_API void ImGuiInternal_UpdateItemRect(ImGuiID window_id,const ImVec2 min,const ImVec2 max);
CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImGuiID seed);
CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImGuiID seed);
CIMGUI_API void igImQsort(void* base,size_t count,size_t size_of_element,int(*compare_func)(void const*,void const*));
@@ -4238,7 +4298,8 @@ CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window,const ImVec2 pos,Im
CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window,const ImVec2 size,ImGuiCond cond);
CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window,bool collapsed,ImGuiCond cond);
CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,const ImVec2 size);
-CIMGUI_API void igSetWindowHiddendAndSkipItemsForCurrentFrame(ImGuiWindow* window);
+CIMGUI_API void igSetWindowHiddenAndSkipItemsForCurrentFrame(ImGuiWindow* window);
+CIMGUI_API void igSetWindowParentWindowForFocusRoute(ImGuiWindow* window,ImGuiWindow* parent_window);
CIMGUI_API void igWindowRectAbsToRel(ImRect *pOut,ImGuiWindow* window,const ImRect r);
CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRect r);
CIMGUI_API void igWindowPosRelToAbs(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p);
@@ -4362,6 +4423,7 @@ CIMGUI_API void igNavRestoreHighlightAfterMove(void);
CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX(void);
CIMGUI_API void igSetNavWindow(ImGuiWindow* window);
CIMGUI_API void igSetNavID(ImGuiID id,ImGuiNavLayer nav_layer,ImGuiID focus_scope_id,const ImRect rect_rel);
+CIMGUI_API void igSetNavFocusScope(ImGuiID focus_scope_id);
CIMGUI_API void igFocusItem(void);
CIMGUI_API void igActivateItemByID(ImGuiID id);
CIMGUI_API bool igIsNamedKey(ImGuiKey key);
@@ -4375,7 +4437,7 @@ CIMGUI_API ImGuiKeyChord igConvertShortcutMod(ImGuiKeyChord key_chord);
CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiContext* ctx,ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key);
CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key);
-CIMGUI_API void igGetKeyChordName(ImGuiKeyChord key_chord,char* out_buf,int out_buf_size);
+CIMGUI_API const char* igGetKeyChordName(ImGuiKeyChord key_chord);
CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button);
CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float lock_threshold);
CIMGUI_API void igGetKeyMagnitude2d(ImVec2 *pOut,ImGuiKey key_left,ImGuiKey key_right,ImGuiKey key_up,ImGuiKey key_down);
@@ -4452,7 +4514,7 @@ CIMGUI_API bool igIsDragDropActive(void);
CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb,ImGuiID id);
CIMGUI_API void igClearDragDrop(void);
CIMGUI_API bool igIsDragDropPayloadBeingAccepted(void);
-CIMGUI_API void igRenderDragDropTargetRect(const ImRect bb);
+CIMGUI_API void igRenderDragDropTargetRect(const ImRect bb,const ImRect item_clip_rect);
CIMGUI_API ImGuiTypingSelectRequest* igGetTypingSelectRequest(ImGuiTypingSelectFlags flags);
CIMGUI_API int igTypingSelectFindMatch(ImGuiTypingSelectRequest* req,int items_count,const char*(*get_item_name_func)(void*,int),void* user_data,int nav_item_idx);
CIMGUI_API int igTypingSelectFindNextSingleCharMatch(ImGuiTypingSelectRequest* req,int items_count,const char*(*get_item_name_func)(void*,int),void* user_data,int nav_item_idx);
@@ -4616,6 +4678,9 @@ CIMGUI_API void igDebugDrawItemRect(ImU32 col);
CIMGUI_API void igDebugLocateItem(ImGuiID target_id);
CIMGUI_API void igDebugLocateItemOnHover(ImGuiID target_id);
CIMGUI_API void igDebugLocateItemResolveWithLastItem(void);
+CIMGUI_API void igDebugBreakClearData(void);
+CIMGUI_API bool igDebugBreakButton(const char* label,const char* description_of_location);
+CIMGUI_API void igDebugBreakButtonTooltip(bool keyboard_only,const char* description_of_location);
CIMGUI_API void igDebugStartItemPicker(void);
CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas);
CIMGUI_API void igDebugHookIdInfo(ImGuiID id,ImGuiDataType data_type,const void* data_id,const void* data_id_end);
diff --git a/dependencies/imgui/imgui_impl.h b/dependencies/imgui/imgui_impl.h
index 4283953..358735f 100644
--- a/dependencies/imgui/imgui_impl.h
+++ b/dependencies/imgui/imgui_impl.h
@@ -6,9 +6,6 @@
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
#include
#else
-#define IMGUI_DISABLE_OBSOLETE_KEYIO
-#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
-#define IMGUI_DEFINE_MATH_OPERATORS
#include
#include
#include
diff --git a/docs/Development/ImGui.md b/docs/Development/ImGui.md
index abc85df..5bc9612 100644
--- a/docs/Development/ImGui.md
+++ b/docs/Development/ImGui.md
@@ -3,9 +3,9 @@
## Introduction
The framework also provides a way to render your own UI to the screen using [Dear ImGui](https://github.com/ocornut/imgui/tree/master). ImGui is a very powerful UI library that is very easy to use and has a lot of features.
-To get started add the `ImGui.NET` NuGet package to your project. You can do this by right-clicking your project in the solution explorer and selecting "Manage NuGet Packages". Then search for `ImGui.NET` and install it.
+To get started add the `SharpPluginLoader.ImGui` NuGet package to your project. You can do this by right-clicking your project in the solution explorer and selecting "Manage NuGet Packages". Then search for `SharpPluginLoader.ImGui` and install it.
-Next add an event handler for the `OnRender` event to your plugin. This event is called every frame and is where you will do all your rendering.
+Next add an event handler for the `OnImGuiRender` event to your plugin. This event is called every frame and is where you will do all your rendering.
```csharp
public PluginData Inititalize()
diff --git a/mhw-cs-plugin-loader/mhw-cs-plugin-loader.vcxproj b/mhw-cs-plugin-loader/mhw-cs-plugin-loader.vcxproj
index 3588c22..843e10f 100644
--- a/mhw-cs-plugin-loader/mhw-cs-plugin-loader.vcxproj
+++ b/mhw-cs-plugin-loader/mhw-cs-plugin-loader.vcxproj
@@ -117,7 +117,7 @@
Level3
true
- _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;IMGUI_DISABLE_OBSOLETE_KEYIO;IMGUI_DISABLE_OBSOLETE_FUNCTIONS;IMGUI_DEFINE_MATH_OPERATORS
true
MultiThreadedDebugDLL
$(SolutionDir)dependencies\safetyhook\include;$(SolutionDir)dependencies\generic\include;$(SolutionDir)dependencies\imgui;$(SolutionDir)dependencies\cimgui\imgui;$(SolutionDir)dependencies\imgui-notify;$(SolutionDir)dependencies\loader\include
@@ -137,7 +137,7 @@
true
true
true
- NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions);WIN32_LEAN_AND_MEAN;IMGUI_DISABLE_OBSOLETE_KEYIO;IMGUI_DISABLE_OBSOLETE_FUNCTIONS;IMGUI_DEFINE_MATH_OPERATORS
true
MultiThreadedDLL
$(SolutionDir)dependencies\safetyhook\include;$(SolutionDir)dependencies\generic\include;$(SolutionDir)dependencies\imgui;$(SolutionDir)dependencies\cimgui\imgui;$(SolutionDir)dependencies\imgui-notify;$(SolutionDir)dependencies\loader\include