pull imgui docking branch and generate

This commit is contained in:
Victor Bombi
2020-04-29 18:11:57 +02:00
parent be187bcdc4
commit b861387d21
15 changed files with 7877 additions and 906 deletions

437
cimgui.h
View File

@@ -1,5 +1,5 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.76" from Dear ImGui https://github.com/ocornut/imgui
//based on imgui.h file version "1.77 WIP" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
@@ -46,6 +46,7 @@ typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiTextRange ImGuiTextRange;
typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex;
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
typedef struct ImGuiViewportP ImGuiViewportP;
typedef struct ImVec2ih ImVec2ih;
typedef struct ImVec1 ImVec1;
typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect;
@@ -66,6 +67,9 @@ typedef struct ImGuiMenuColumns ImGuiMenuColumns;
typedef struct ImGuiItemHoveredDataBackup ImGuiItemHoveredDataBackup;
typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings;
typedef struct ImGuiDockNode ImGuiDockNode;
typedef struct ImGuiDockContext ImGuiDockContext;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
typedef struct ImGuiColumns ImGuiColumns;
typedef struct ImGuiColumnData ImGuiColumnData;
@@ -73,11 +77,15 @@ typedef struct ImGuiColorMod ImGuiColorMod;
typedef struct ImDrawDataBuilder ImDrawDataBuilder;
typedef struct ImRect ImRect;
typedef struct ImBitVector ImBitVector;
typedef struct ImGuiWindowClass ImGuiWindowClass;
typedef struct ImGuiViewport ImGuiViewport;
typedef struct ImGuiTextFilter ImGuiTextFilter;
typedef struct ImGuiTextBuffer ImGuiTextBuffer;
typedef struct ImGuiStyle ImGuiStyle;
typedef struct ImGuiStorage ImGuiStorage;
typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor;
typedef struct ImGuiPlatformIO ImGuiPlatformIO;
typedef struct ImGuiPayload ImGuiPayload;
typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
typedef struct ImGuiListClipper ImGuiListClipper;
@@ -117,11 +125,15 @@ struct ImGuiInputTextCallbackData;
struct ImGuiListClipper;
struct ImGuiOnceUponAFrame;
struct ImGuiPayload;
struct ImGuiPlatformIO;
struct ImGuiPlatformMonitor;
struct ImGuiSizeCallbackData;
struct ImGuiStorage;
struct ImGuiStyle;
struct ImGuiTextBuffer;
struct ImGuiTextFilter;
struct ImGuiViewport;
struct ImGuiWindowClass;
typedef int ImGuiCol;
typedef int ImGuiCond;
typedef int ImGuiDataType;
@@ -138,6 +150,7 @@ typedef int ImGuiBackendFlags;
typedef int ImGuiColorEditFlags;
typedef int ImGuiConfigFlags;
typedef int ImGuiComboFlags;
typedef int ImGuiDockNodeFlags;
typedef int ImGuiDragDropFlags;
typedef int ImGuiFocusedFlags;
typedef int ImGuiHoveredFlags;
@@ -147,6 +160,7 @@ typedef int ImGuiSelectableFlags;
typedef int ImGuiTabBarFlags;
typedef int ImGuiTabItemFlags;
typedef int ImGuiTreeNodeFlags;
typedef int ImGuiViewportFlags;
typedef int ImGuiWindowFlags;
typedef void* ImTextureID;
typedef unsigned int ImGuiID;
@@ -174,6 +188,9 @@ struct ImGuiColumnData;
struct ImGuiColumns;
struct ImGuiContext;
struct ImGuiDataTypeInfo;
struct ImGuiDockContext;
struct ImGuiDockNode;
struct ImGuiDockNodeSettings;
struct ImGuiGroupData;
struct ImGuiInputTextState;
struct ImGuiItemHoveredDataBackup;
@@ -189,6 +206,7 @@ struct ImGuiTabItem;
struct ImGuiWindow;
struct ImGuiWindowTempData;
struct ImGuiWindowSettings;
typedef int ImGuiDataAuthority;
typedef int ImGuiLayoutType;
typedef int ImGuiButtonFlags;
typedef int ImGuiColumnsFlags;
@@ -212,34 +230,38 @@ typedef struct ImVector_float {int Size;int Capacity;float* Data;} ImVector_floa
typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
typedef struct ImVector_ImGuiPlatformMonitor {int Size;int Capacity;ImGuiPlatformMonitor* Data;} ImVector_ImGuiPlatformMonitor;
typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4;
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char;
typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr;
typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
typedef struct ImVector_ImGuiColumnData {int Size;int Capacity;ImGuiColumnData* Data;} ImVector_ImGuiColumnData;
typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} ImVector_ImGuiColumns;
typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport** Data;} ImVector_ImGuiViewportPtr;
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2;
typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} ImVector_ImFontGlyph;
typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange;
typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
typedef struct ImVector_ImGuiViewportPPtr {int Size;int Capacity;ImGuiViewportP** Data;} ImVector_ImGuiViewportPPtr;
typedef struct ImVector_ImDrawChannel {int Size;int Capacity;ImDrawChannel* Data;} ImVector_ImDrawChannel;
typedef struct ImVector_ImDrawListPtr {int Size;int Capacity;ImDrawList** Data;} ImVector_ImDrawListPtr;
typedef struct ImVector_ImU32 {int Size;int Capacity;ImU32* Data;} ImVector_ImU32;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlasCustomRect* Data;} ImVector_ImFontAtlasCustomRect;
typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
typedef struct ImVector_ImGuiColumns {int Size;int Capacity;ImGuiColumns* Data;} ImVector_ImGuiColumns;
typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr;
typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig;
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd;
typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig;
typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
typedef struct ImVector_ImDrawIdx {int Size;int Capacity;ImDrawIdx* Data;} ImVector_ImDrawIdx;
typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char;
typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
typedef struct ImVector_ImGuiWindowSettings {int Size;int Capacity;ImGuiWindowSettings* Data;} ImVector_ImGuiWindowSettings;
typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_ImGuiWindowSettings Buf;} ImChunkStream_ImGuiWindowSettings;
@@ -308,6 +330,7 @@ typedef enum {
ImGuiWindowFlags_NoNavInputs = 1 << 18,
ImGuiWindowFlags_NoNavFocus = 1 << 19,
ImGuiWindowFlags_UnsavedDocument = 1 << 20,
ImGuiWindowFlags_NoDocking = 1 << 21,
ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse,
ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
@@ -316,7 +339,8 @@ typedef enum {
ImGuiWindowFlags_Tooltip = 1 << 25,
ImGuiWindowFlags_Popup = 1 << 26,
ImGuiWindowFlags_Modal = 1 << 27,
ImGuiWindowFlags_ChildMenu = 1 << 28
ImGuiWindowFlags_ChildMenu = 1 << 28,
ImGuiWindowFlags_DockNodeHost = 1 << 29
}ImGuiWindowFlags_;
typedef enum {
ImGuiInputTextFlags_None = 0,
@@ -418,6 +442,15 @@ typedef enum {
ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped,
ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows
}ImGuiHoveredFlags_;
typedef enum {
ImGuiDockNodeFlags_None = 0,
ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0,
ImGuiDockNodeFlags_NoDockingInCentralNode = 1 << 2,
ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3,
ImGuiDockNodeFlags_NoSplit = 1 << 4,
ImGuiDockNodeFlags_NoResize = 1 << 5,
ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6
}ImGuiDockNodeFlags_;
typedef enum {
ImGuiDragDropFlags_None = 0,
ImGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0,
@@ -517,6 +550,10 @@ typedef enum {
ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3,
ImGuiConfigFlags_NoMouse = 1 << 4,
ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
ImGuiConfigFlags_DockingEnable = 1 << 6,
ImGuiConfigFlags_ViewportsEnable = 1 << 10,
ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14,
ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15,
ImGuiConfigFlags_IsSRGB = 1 << 20,
ImGuiConfigFlags_IsTouchScreen = 1 << 21
}ImGuiConfigFlags_;
@@ -525,7 +562,10 @@ typedef enum {
ImGuiBackendFlags_HasGamepad = 1 << 0,
ImGuiBackendFlags_HasMouseCursors = 1 << 1,
ImGuiBackendFlags_HasSetMousePos = 1 << 2,
ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3
ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3,
ImGuiBackendFlags_PlatformHasViewports = 1 << 10,
ImGuiBackendFlags_HasMouseHoveredViewport=1 << 11,
ImGuiBackendFlags_RendererHasViewports = 1 << 12
}ImGuiBackendFlags_;
typedef enum {
ImGuiCol_Text,
@@ -566,6 +606,8 @@ typedef enum {
ImGuiCol_TabActive,
ImGuiCol_TabUnfocused,
ImGuiCol_TabUnfocusedActive,
ImGuiCol_DockingPreview,
ImGuiCol_DockingEmptyBg,
ImGuiCol_PlotLines,
ImGuiCol_PlotLinesHovered,
ImGuiCol_PlotHistogram,
@@ -720,6 +762,14 @@ struct ImGuiIO
bool FontAllowUserScaling;
ImFont* FontDefault;
ImVec2 DisplayFramebufferScale;
bool ConfigDockingNoSplit;
bool ConfigDockingWithShift;
bool ConfigDockingAlwaysTabBar;
bool ConfigDockingTransparentPayload;
bool ConfigViewportsNoAutoMerge;
bool ConfigViewportsNoTaskBarIcon;
bool ConfigViewportsNoDecoration;
bool ConfigViewportsNoDefaultParent;
bool MouseDrawCursor;
bool ConfigMacOSXBehaviors;
bool ConfigInputTextCursorBlink;
@@ -734,13 +784,12 @@ struct ImGuiIO
const char* (*GetClipboardTextFn)(void* user_data);
void (*SetClipboardTextFn)(void* user_data, const char* text);
void* ClipboardUserData;
void (*ImeSetInputScreenPosFn)(int x, int y);
void* ImeWindowHandle;
void* RenderDrawListsFnUnused;
ImVec2 MousePos;
bool MouseDown[5];
float MouseWheel;
float MouseWheelH;
ImGuiID MouseHoveredViewport;
bool KeyCtrl;
bool KeyShift;
bool KeyAlt;
@@ -803,6 +852,17 @@ struct ImGuiSizeCallbackData
ImVec2 CurrentSize;
ImVec2 DesiredSize;
};
struct ImGuiWindowClass
{
ImGuiID ClassId;
ImGuiID ParentViewportId;
ImGuiViewportFlags ViewportFlagsOverrideSet;
ImGuiViewportFlags ViewportFlagsOverrideClear;
ImGuiDockNodeFlags DockNodeFlagsOverrideSet;
ImGuiDockNodeFlags DockNodeFlagsOverrideClear;
bool DockingAlwaysTabBar;
bool DockingAllowUnclassed;
};
struct ImGuiPayload
{
void* Data;
@@ -918,6 +978,7 @@ struct ImDrawData
ImVec2 DisplayPos;
ImVec2 DisplaySize;
ImVec2 FramebufferScale;
ImGuiViewport* OwnerViewport;
};
struct ImFontConfig
{
@@ -1005,6 +1066,74 @@ struct ImFont
int MetricsTotalSurface;
ImU8 Used4kPagesMap[(0xFFFF +1)/4096/8];
};
struct ImGuiPlatformIO
{
void (*Platform_CreateWindow)(ImGuiViewport* vp);
void (*Platform_DestroyWindow)(ImGuiViewport* vp);
void (*Platform_ShowWindow)(ImGuiViewport* vp);
void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2 pos);
ImVec2 (*Platform_GetWindowPos)(ImGuiViewport* vp);
void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2 size);
ImVec2 (*Platform_GetWindowSize)(ImGuiViewport* vp);
void (*Platform_SetWindowFocus)(ImGuiViewport* vp);
bool (*Platform_GetWindowFocus)(ImGuiViewport* vp);
bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp);
void (*Platform_SetWindowTitle)(ImGuiViewport* vp, const char* str);
void (*Platform_SetWindowAlpha)(ImGuiViewport* vp, float alpha);
void (*Platform_UpdateWindow)(ImGuiViewport* vp);
void (*Platform_RenderWindow)(ImGuiViewport* vp, void* render_arg);
void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp);
void (*Platform_OnChangedViewport)(ImGuiViewport* vp);
void (*Platform_SetImeInputPos)(ImGuiViewport* vp, ImVec2 pos);
int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface);
void (*Renderer_CreateWindow)(ImGuiViewport* vp);
void (*Renderer_DestroyWindow)(ImGuiViewport* vp);
void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2 size);
void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg);
void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
ImVector_ImGuiPlatformMonitor Monitors;
ImGuiViewport* MainViewport;
ImVector_ImGuiViewportPtr Viewports;
};
struct ImGuiPlatformMonitor
{
ImVec2 MainPos, MainSize;
ImVec2 WorkPos, WorkSize;
float DpiScale;
};
typedef enum {
ImGuiViewportFlags_None = 0,
ImGuiViewportFlags_NoDecoration = 1 << 0,
ImGuiViewportFlags_NoTaskBarIcon = 1 << 1,
ImGuiViewportFlags_NoFocusOnAppearing = 1 << 2,
ImGuiViewportFlags_NoFocusOnClick = 1 << 3,
ImGuiViewportFlags_NoInputs = 1 << 4,
ImGuiViewportFlags_NoRendererClear = 1 << 5,
ImGuiViewportFlags_TopMost = 1 << 6,
ImGuiViewportFlags_Minimized = 1 << 7,
ImGuiViewportFlags_NoAutoMerge = 1 << 8,
ImGuiViewportFlags_CanHostOtherWindows = 1 << 9
}ImGuiViewportFlags_;
struct ImGuiViewport
{
ImGuiID ID;
ImGuiViewportFlags Flags;
ImVec2 Pos;
ImVec2 Size;
ImVec2 WorkOffsetMin;
ImVec2 WorkOffsetMax;
float DpiScale;
ImDrawData* DrawData;
ImGuiID ParentViewportId;
void* RendererUserData;
void* PlatformUserData;
void* PlatformHandle;
void* PlatformHandleRaw;
bool PlatformRequestMove;
bool PlatformRequestResize;
bool PlatformRequestClose;
};
struct ImBitVector
{
ImVector_ImU32 Storage;
@@ -1190,6 +1319,11 @@ struct ImGuiDataTypeInfo
const char* PrintFmt;
const char* ScanFmt;
};
typedef enum {
ImGuiDataType_String = ImGuiDataType_COUNT + 1,
ImGuiDataType_Pointer,
ImGuiDataType_ID
}ImGuiDataTypePrivate_;
struct ImGuiColorMod
{
ImGuiCol Col;
@@ -1241,6 +1375,11 @@ struct ImGuiWindowSettings
ImGuiID ID;
ImVec2ih Pos;
ImVec2ih Size;
ImVec2ih ViewportPos;
ImGuiID ViewportId;
ImGuiID DockId;
ImGuiID ClassId;
short DockOrder;
bool Collapsed;
};
struct ImGuiSettingsHandler
@@ -1302,6 +1441,29 @@ struct ImDrawDataBuilder
{
ImVector_ImDrawListPtr Layers[2];
};
struct ImGuiViewportP
{
ImGuiViewport _ImGuiViewport;
int Idx;
int LastFrameActive;
int LastFrameDrawLists[2];
int LastFrontMostStampCount;
ImGuiID LastNameHash;
ImVec2 LastPos;
float Alpha;
float LastAlpha;
short PlatformMonitor;
bool PlatformWindowCreated;
ImGuiWindow* Window;
ImDrawList* DrawLists[2];
ImDrawData DrawDataP;
ImDrawDataBuilder DrawDataBuilder;
ImVec2 LastPlatformPos;
ImVec2 LastPlatformSize;
ImVec2 LastRendererSize;
ImVec2 CurrWorkOffsetMin;
ImVec2 CurrWorkOffsetMax;
};
struct ImGuiNavMoveResult
{
ImGuiWindow* Window;
@@ -1320,7 +1482,11 @@ typedef enum {
ImGuiNextWindowDataFlags_HasCollapsed = 1 << 3,
ImGuiNextWindowDataFlags_HasSizeConstraint = 1 << 4,
ImGuiNextWindowDataFlags_HasFocus = 1 << 5,
ImGuiNextWindowDataFlags_HasBgAlpha = 1 << 6
ImGuiNextWindowDataFlags_HasBgAlpha = 1 << 6,
ImGuiNextWindowDataFlags_HasScroll = 1 << 7,
ImGuiNextWindowDataFlags_HasViewport = 1 << 8,
ImGuiNextWindowDataFlags_HasDock = 1 << 9,
ImGuiNextWindowDataFlags_HasWindowClass = 1 << 10
}ImGuiNextWindowDataFlags_;
struct ImGuiNextWindowData
{
@@ -1328,15 +1494,21 @@ struct ImGuiNextWindowData
ImGuiCond PosCond;
ImGuiCond SizeCond;
ImGuiCond CollapsedCond;
ImGuiCond DockCond;
ImVec2 PosVal;
ImVec2 PosPivotVal;
ImVec2 SizeVal;
ImVec2 ContentSizeVal;
ImVec2 ScrollVal;
bool PosUndock;
bool CollapsedVal;
ImRect SizeConstraintRect;
ImGuiSizeCallback SizeCallback;
void* SizeCallbackUserData;
float BgAlphaVal;
ImGuiID ViewportId;
ImGuiID DockId;
ImGuiWindowClass WindowClass;
ImVec2 MenuBarOffsetMinVal;
};
typedef enum {
@@ -1362,12 +1534,79 @@ struct ImGuiPtrOrIndex
void* Ptr;
int Index;
};
typedef enum {
ImGuiDockNodeFlags_DockSpace = 1 << 10,
ImGuiDockNodeFlags_CentralNode = 1 << 11,
ImGuiDockNodeFlags_NoTabBar = 1 << 12,
ImGuiDockNodeFlags_HiddenTabBar = 1 << 13,
ImGuiDockNodeFlags_NoWindowMenuButton = 1 << 14,
ImGuiDockNodeFlags_NoCloseButton = 1 << 15,
ImGuiDockNodeFlags_NoDocking = 1 << 16,
ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0,
ImGuiDockNodeFlags_LocalFlagsMask_ = ImGuiDockNodeFlags_NoSplit | ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_DockSpace | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton | ImGuiDockNodeFlags_NoDocking,
ImGuiDockNodeFlags_LocalFlagsTransferMask_ = ImGuiDockNodeFlags_LocalFlagsMask_ & ~ImGuiDockNodeFlags_DockSpace,
ImGuiDockNodeFlags_SavedFlagsMask_ = ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_DockSpace | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton | ImGuiDockNodeFlags_NoDocking
}ImGuiDockNodeFlagsPrivate_;
typedef enum {
ImGuiDataAuthority_Auto,
ImGuiDataAuthority_DockNode,
ImGuiDataAuthority_Window
}ImGuiDataAuthority_;
typedef enum {
ImGuiDockNodeState_Unknown,
ImGuiDockNodeState_HostWindowHiddenBecauseSingleWindow,
ImGuiDockNodeState_HostWindowHiddenBecauseWindowsAreResizing,
ImGuiDockNodeState_HostWindowVisible
}ImGuiDockNodeState;
struct ImGuiDockNode
{
ImGuiID ID;
ImGuiDockNodeFlags SharedFlags;
ImGuiDockNodeFlags LocalFlags;
ImGuiDockNode* ParentNode;
ImGuiDockNode* ChildNodes[2];
ImVector_ImGuiWindowPtr Windows;
ImGuiTabBar* TabBar;
ImVec2 Pos;
ImVec2 Size;
ImVec2 SizeRef;
ImGuiAxis SplitAxis;
ImGuiWindowClass WindowClass;
ImGuiDockNodeState State;
ImGuiWindow* HostWindow;
ImGuiWindow* VisibleWindow;
ImGuiDockNode* CentralNode;
ImGuiDockNode* OnlyNodeWithWindows;
int LastFrameAlive;
int LastFrameActive;
int LastFrameFocused;
ImGuiID LastFocusedNodeId;
ImGuiID SelectedTabId;
ImGuiID WantCloseTabId;
ImGuiDataAuthority AuthorityForPos :3;
ImGuiDataAuthority AuthorityForSize :3;
ImGuiDataAuthority AuthorityForViewport :3;
bool IsVisible :1;
bool IsFocused :1;
bool HasCloseButton :1;
bool HasWindowMenuButton :1;
bool EnableCloseButton :1;
bool WantCloseAll :1;
bool WantLockSizeOnce :1;
bool WantMouseMove :1;
bool WantHiddenTabBarUpdate :1;
bool WantHiddenTabBarToggle :1;
bool MarkedForPosSizeWrite :1;
};
struct ImGuiContext
{
bool Initialized;
bool FontAtlasOwnedByContext;
ImGuiIO IO;
ImGuiPlatformIO PlatformIO;
ImGuiStyle Style;
ImGuiConfigFlags ConfigFlagsCurrFrame;
ImGuiConfigFlags ConfigFlagsLastFrame;
ImFont* Font;
float FontSize;
float FontBaseSize;
@@ -1375,10 +1614,14 @@ struct ImGuiContext
double Time;
int FrameCount;
int FrameCountEnded;
int FrameCountPlatformEnded;
int FrameCountRendered;
bool WithinFrameScope;
bool WithinFrameScopeWithImplicitWindow;
bool WithinEndChild;
bool TestEngineHookItems;
ImGuiID TestEngineHookIdInfo;
void* TestEngine;
ImVector_ImGuiWindowPtr Windows;
ImVector_ImGuiWindowPtr WindowsFocusOrder;
ImVector_ImGuiWindowPtr WindowsTempSortBuffer;
@@ -1388,6 +1631,7 @@ struct ImGuiContext
ImGuiWindow* CurrentWindow;
ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredRootWindow;
ImGuiWindow* HoveredWindowUnderMovingWindow;
ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos;
@@ -1425,6 +1669,13 @@ struct ImGuiContext
ImVector_ImFontPtr FontStack;
ImVector_ImGuiPopupData OpenPopupStack;
ImVector_ImGuiPopupData BeginPopupStack;
ImVector_ImGuiViewportPPtr Viewports;
float CurrentDpiScale;
ImGuiViewportP* CurrentViewport;
ImGuiViewportP* MouseViewport;
ImGuiViewportP* MouseLastHoveredViewport;
ImGuiID PlatformLastFocusedViewport;
int ViewportFrontMostStampCount;
ImGuiWindow* NavWindow;
ImGuiID NavId;
ImGuiID NavFocusScopeId;
@@ -1474,11 +1725,7 @@ struct ImGuiContext
int FocusRequestNextCounterRegular;
int FocusRequestNextCounterTabStop;
bool FocusTabPressed;
ImDrawData DrawData;
ImDrawDataBuilder DrawDataBuilder;
float DimBgRatio;
ImDrawList BackgroundDrawList;
ImDrawList ForegroundDrawList;
ImGuiMouseCursor MouseCursor;
bool DragDropActive;
bool DragDropWithinSource;
@@ -1494,6 +1741,7 @@ struct ImGuiContext
ImGuiID DragDropAcceptIdCurr;
ImGuiID DragDropAcceptIdPrev;
int DragDropAcceptFrameCount;
ImGuiID DragDropHoldJustPressedId;
ImVector_unsigned_char DragDropPayloadBufHeap;
unsigned char DragDropPayloadBufLocal[16];
ImGuiTabBar* CurrentTabBar;
@@ -1518,6 +1766,8 @@ struct ImGuiContext
ImVector_ImGuiID MenusIdSubmittedThisFrame;
ImVec2 PlatformImePos;
ImVec2 PlatformImeLastPos;
ImGuiViewportP* PlatformImePosViewport;
ImGuiDockContext* DockContext;
bool SettingsLoaded;
float SettingsDirtyTimer;
ImGuiTextBuffer SettingsIniData;
@@ -1591,7 +1841,12 @@ struct ImGuiWindow
{
char* Name;
ImGuiID ID;
ImGuiWindowFlags Flags;
ImGuiWindowFlags Flags, FlagsPreviousFrame;
ImGuiWindowClass WindowClass;
ImGuiViewportP* Viewport;
ImGuiID ViewportId;
ImVec2 ViewportPos;
int ViewportAllowPlatformMonitorExtend;
ImVec2 Pos;
ImVec2 Size;
ImVec2 SizeFull;
@@ -1609,6 +1864,7 @@ struct ImGuiWindow
ImVec2 ScrollTargetCenterRatio;
ImVec2 ScrollbarSizes;
bool ScrollbarX, ScrollbarY;
bool ViewportOwned;
bool Active;
bool WasActive;
bool WriteAccessed;
@@ -1633,6 +1889,7 @@ struct ImGuiWindow
ImGuiCond SetWindowPosAllowFlags;
ImGuiCond SetWindowSizeAllowFlags;
ImGuiCond SetWindowCollapsedAllowFlags;
ImGuiCond SetWindowDockAllowFlags;
ImVec2 SetWindowPosVal;
ImVec2 SetWindowPosPivot;
ImVector_ImGuiID IDStack;
@@ -1643,17 +1900,21 @@ struct ImGuiWindow
ImRect WorkRect;
ImRect ClipRect;
ImRect ContentRegionRect;
ImVec2ih HitTestHoleSize, HitTestHoleOffset;
int LastFrameActive;
int LastFrameJustFocused;
float LastTimeActive;
float ItemWidthDefault;
ImGuiStorage StateStorage;
ImVector_ImGuiColumns ColumnsStorage;
float FontWindowScale;
float FontDpiScale;
int SettingsOffset;
ImDrawList* DrawList;
ImDrawList DrawListInst;
ImGuiWindow* ParentWindow;
ImGuiWindow* RootWindow;
ImGuiWindow* RootWindowDockStop;
ImGuiWindow* RootWindowForTitleBarHighlight;
ImGuiWindow* RootWindowForNav;
ImGuiWindow* NavLastChildNavWindow;
@@ -1662,6 +1923,15 @@ struct ImGuiWindow
bool MemoryCompacted;
int MemoryDrawListIdxCapacity;
int MemoryDrawListVtxCapacity;
ImGuiDockNode* DockNode;
ImGuiDockNode* DockNodeAsHost;
ImGuiID DockId;
ImGuiItemStatusFlags DockTabItemStatusFlags;
ImRect DockTabItemRect;
short DockOrder;
bool DockIsActive :1;
bool DockTabIsVisible :1;
bool DockTabWantClose :1;
};
struct ImGuiItemHoveredDataBackup
{
@@ -1676,12 +1946,15 @@ typedef enum {
ImGuiTabBarFlags_SaveSettings = 1 << 22
}ImGuiTabBarFlagsPrivate_;
typedef enum {
ImGuiTabItemFlags_NoCloseButton = 1 << 20
ImGuiTabItemFlags_NoCloseButton = 1 << 20,
ImGuiTabItemFlags_Unsorted = 1 << 21,
ImGuiTabItemFlags_Preview = 1 << 22
}ImGuiTabItemFlagsPrivate_;
struct ImGuiTabItem
{
ImGuiID ID;
ImGuiTabItemFlags Flags;
ImGuiWindow* Window;
int LastFrameVisible;
int LastFrameSelected;
int NameOffset;
@@ -1739,34 +2012,38 @@ typedef ImVector<float> ImVector_float;
typedef ImVector<ImWchar> ImVector_ImWchar;
typedef ImVector<ImDrawVert> ImVector_ImDrawVert;
typedef ImVector<ImGuiSettingsHandler> ImVector_ImGuiSettingsHandler;
typedef ImVector<ImGuiPlatformMonitor> ImVector_ImGuiPlatformMonitor;
typedef ImVector<ImVec4> ImVector_ImVec4;
typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
typedef ImVector<char> ImVector_char;
typedef ImVector<const char*> ImVector_const_charPtr;
typedef ImVector<ImGuiID> ImVector_ImGuiID;
typedef ImVector<ImGuiWindow*> ImVector_ImGuiWindowPtr;
typedef ImVector<ImGuiColumnData> ImVector_ImGuiColumnData;
typedef ImVector<ImGuiColumns> ImVector_ImGuiColumns;
typedef ImVector<ImGuiViewport*> ImVector_ImGuiViewportPtr;
typedef ImVector<ImGuiColorMod> ImVector_ImGuiColorMod;
typedef ImVector<ImVec2> ImVector_ImVec2;
typedef ImVector<ImFontGlyph> ImVector_ImFontGlyph;
typedef ImVector<ImGuiTextRange> ImVector_ImGuiTextRange;
typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair;
typedef ImVector<ImGuiStyleMod> ImVector_ImGuiStyleMod;
typedef ImVector<ImGuiViewportP*> ImVector_ImGuiViewportPPtr;
typedef ImVector<ImDrawChannel> ImVector_ImDrawChannel;
typedef ImVector<ImDrawList*> ImVector_ImDrawListPtr;
typedef ImVector<ImU32> ImVector_ImU32;
typedef ImVector<ImGuiItemFlags> ImVector_ImGuiItemFlags;
typedef ImVector<ImFontAtlasCustomRect> ImVector_ImFontAtlasCustomRect;
typedef ImVector<ImGuiTabItem> ImVector_ImGuiTabItem;
typedef ImVector<ImGuiColumns> ImVector_ImGuiColumns;
typedef ImVector<ImGuiShrinkWidthItem> ImVector_ImGuiShrinkWidthItem;
typedef ImVector<unsigned char> ImVector_unsigned_char;
typedef ImVector<ImTextureID> ImVector_ImTextureID;
typedef ImVector<ImFont*> ImVector_ImFontPtr;
typedef ImVector<ImFontConfig> ImVector_ImFontConfig;
typedef ImVector<ImGuiColorMod> ImVector_ImGuiColorMod;
typedef ImVector<ImDrawCmd> ImVector_ImDrawCmd;
typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData;
typedef ImVector<ImDrawCmd> ImVector_ImDrawCmd;
typedef ImVector<ImFontConfig> ImVector_ImFontConfig;
typedef ImVector<ImFont*> ImVector_ImFontPtr;
typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
typedef ImVector<ImTextureID> ImVector_ImTextureID;
typedef ImVector<ImDrawIdx> ImVector_ImDrawIdx;
typedef ImVector<char> ImVector_char;
typedef ImVector<unsigned char> ImVector_unsigned_char;
typedef ImChunkStream<ImGuiWindowSettings> ImChunkStream_ImGuiWindowSettings;
typedef ImPool<ImGuiTabBar> ImPool_ImGuiTabBar;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
@@ -1807,6 +2084,8 @@ CIMGUI_API bool igIsWindowCollapsed(void);
CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags);
CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags);
CIMGUI_API ImDrawList* igGetWindowDrawList(void);
CIMGUI_API float igGetWindowDpiScale(void);
CIMGUI_API ImGuiViewport* igGetWindowViewport(void);
CIMGUI_API void igGetWindowPos(ImVec2 *pOut);
CIMGUI_API void igGetWindowSize(ImVec2 *pOut);
CIMGUI_API float igGetWindowWidth(void);
@@ -1818,6 +2097,7 @@ CIMGUI_API void igSetNextWindowContentSize(const ImVec2 size);
CIMGUI_API void igSetNextWindowCollapsed(bool collapsed,ImGuiCond cond);
CIMGUI_API void igSetNextWindowFocus(void);
CIMGUI_API void igSetNextWindowBgAlpha(float alpha);
CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id);
CIMGUI_API void igSetWindowPosVec2(const ImVec2 pos,ImGuiCond cond);
CIMGUI_API void igSetWindowSizeVec2(const ImVec2 size,ImGuiCond cond);
CIMGUI_API void igSetWindowCollapsedBool(bool collapsed,ImGuiCond cond);
@@ -2041,6 +2321,12 @@ CIMGUI_API void igEndTabBar(void);
CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags flags);
CIMGUI_API void igEndTabItem(void);
CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label);
CIMGUI_API void igDockSpace(ImGuiID id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond);
CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class);
CIMGUI_API ImGuiID igGetWindowDockID(void);
CIMGUI_API bool igIsWindowDocked(void);
CIMGUI_API void igLogToTTY(int auto_open_depth);
CIMGUI_API void igLogToFile(int auto_open_depth,const char* filename);
CIMGUI_API void igLogToClipboard(int auto_open_depth);
@@ -2078,8 +2364,10 @@ CIMGUI_API bool igIsRectVisibleNil(const ImVec2 size);
CIMGUI_API bool igIsRectVisibleVec2(const ImVec2 rect_min,const ImVec2 rect_max);
CIMGUI_API double igGetTime(void);
CIMGUI_API int igGetFrameCount(void);
CIMGUI_API ImDrawList* igGetBackgroundDrawList(void);
CIMGUI_API ImDrawList* igGetBackgroundDrawListNil(void);
CIMGUI_API ImDrawList* igGetForegroundDrawListNil(void);
CIMGUI_API ImDrawList* igGetBackgroundDrawListViewportPtr(ImGuiViewport* viewport);
CIMGUI_API ImDrawList* igGetForegroundDrawListViewportPtr(ImGuiViewport* viewport);
CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void);
CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx);
CIMGUI_API void igSetStateStorage(ImGuiStorage* storage);
@@ -2121,6 +2409,13 @@ CIMGUI_API bool igDebugCheckVersionAndDataLayout(const char* version_str,size_t
CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data);
CIMGUI_API void* igMemAlloc(size_t size);
CIMGUI_API void igMemFree(void* ptr);
CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void);
CIMGUI_API ImGuiViewport* igGetMainViewport(void);
CIMGUI_API void igUpdatePlatformWindows(void);
CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg,void* renderer_render_arg);
CIMGUI_API void igDestroyPlatformWindows(void);
CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id);
CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle);
CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void);
CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self);
CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
@@ -2135,6 +2430,8 @@ CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* s
CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count);
CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self,int pos,const char* text,const char* text_end);
CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void);
CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self);
CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void);
CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self);
CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
@@ -2331,6 +2628,14 @@ CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool ov
CIMGUI_API void ImFont_SetGlyphVisible(ImFont* self,ImWchar c,bool visible);
CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c);
CIMGUI_API bool ImFont_IsGlyphRangeUnused(ImFont* self,unsigned int c_begin,unsigned int c_last);
CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void);
CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor(void);
CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void);
CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetWorkPos(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API void ImGuiViewport_GetWorkSize(ImVec2 *pOut,ImGuiViewport* self);
CIMGUI_API ImU32 igImHashData(const void* data,size_t data_size,ImU32 seed);
CIMGUI_API ImU32 igImHashStr(const char* data,size_t data_size,ImU32 seed);
CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b);
@@ -2478,6 +2783,11 @@ CIMGUI_API void ImDrawListSharedData_SetCircleSegmentMaxError(ImDrawListSharedDa
CIMGUI_API void ImDrawDataBuilder_Clear(ImDrawDataBuilder* self);
CIMGUI_API void ImDrawDataBuilder_ClearFreeMemory(ImDrawDataBuilder* self);
CIMGUI_API void ImDrawDataBuilder_FlattenIntoSingleLayer(ImDrawDataBuilder* self);
CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void);
CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_GetMainRect(ImRect *pOut,ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_GetWorkRect(ImRect *pOut,ImGuiViewportP* self);
CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self);
CIMGUI_API ImGuiNavMoveResult* ImGuiNavMoveResult_ImGuiNavMoveResult(void);
CIMGUI_API void ImGuiNavMoveResult_destroy(ImGuiNavMoveResult* self);
CIMGUI_API void ImGuiNavMoveResult_Clear(ImGuiNavMoveResult* self);
@@ -2490,6 +2800,19 @@ CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr(void* ptr);
CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndexInt(int index);
CIMGUI_API ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id);
CIMGUI_API void ImGuiDockNode_destroy(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self);
CIMGUI_API bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self);
CIMGUI_API ImGuiDockNodeFlags ImGuiDockNode_GetMergedFlags(ImGuiDockNode* self);
CIMGUI_API void ImGuiDockNode_Rect(ImRect *pOut,ImGuiDockNode* self);
CIMGUI_API ImGuiContext* ImGuiContext_ImGuiContext(ImFontAtlas* shared_font_atlas);
CIMGUI_API void ImGuiContext_destroy(ImGuiContext* self);
CIMGUI_API ImGuiWindowTempData* ImGuiWindowTempData_ImGuiWindowTempData(void);
@@ -2543,14 +2866,20 @@ CIMGUI_API void igInitialize(ImGuiContext* context);
CIMGUI_API void igShutdown(ImGuiContext* context);
CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags(void);
CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window);
CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window,ImGuiDockNode* node,bool undock_floating_node);
CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void);
CIMGUI_API void igUpdateMouseMovingWindowEndFrame(void);
CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2 old_pos,const ImVec2 new_pos);
CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport,float scale);
CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport);
CIMGUI_API void igShowViewportThumbnails(void);
CIMGUI_API void igMarkIniSettingsDirtyNil(void);
CIMGUI_API void igMarkIniSettingsDirtyWindowPtr(ImGuiWindow* window);
CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name);
CIMGUI_API ImGuiWindowSettings* igFindWindowSettings(ImGuiID id);
CIMGUI_API ImGuiWindowSettings* igFindOrCreateWindowSettings(const char* name);
CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name);
CIMGUI_API void igSetNextWindowScroll(const ImVec2 scroll);
CIMGUI_API void igSetScrollXWindowPtr(ImGuiWindow* window,float new_scroll_x);
CIMGUI_API void igSetScrollYWindowPtr(ImGuiWindow* window,float new_scroll_y);
CIMGUI_API void igSetScrollFromPosXWindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio);
@@ -2617,6 +2946,38 @@ CIMGUI_API bool igIsKeyPressedMap(ImGuiKey key,bool repeat);
CIMGUI_API bool igIsNavInputDown(ImGuiNavInput n);
CIMGUI_API bool igIsNavInputTest(ImGuiNavInput n,ImGuiInputReadMode rm);
CIMGUI_API ImGuiKeyModFlags igGetMergedKeyModFlags(void);
CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx);
CIMGUI_API void igDockContextShutdown(ImGuiContext* ctx);
CIMGUI_API void igDockContextOnLoadSettings(ImGuiContext* ctx);
CIMGUI_API void igDockContextRebuildNodes(ImGuiContext* ctx);
CIMGUI_API void igDockContextUpdateUndocking(ImGuiContext* ctx);
CIMGUI_API void igDockContextUpdateDocking(ImGuiContext* ctx);
CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx);
CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx,ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload,ImGuiDir split_dir,float split_ratio,bool split_outer);
CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx,ImGuiWindow* window);
CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos);
CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node);
CIMGUI_API ImGuiDockNode* igGetWindowDockNode(void);
CIMGUI_API bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window);
CIMGUI_API void igBeginDocked(ImGuiWindow* window,bool* p_open);
CIMGUI_API void igBeginDockableDragDropSource(ImGuiWindow* window);
CIMGUI_API void igBeginDockableDragDropTarget(ImGuiWindow* window);
CIMGUI_API void igSetWindowDock(ImGuiWindow* window,ImGuiID dock_id,ImGuiCond cond);
CIMGUI_API void igDockBuilderDockWindow(const char* window_name,ImGuiID node_id);
CIMGUI_API ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id);
CIMGUI_API ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id);
CIMGUI_API ImGuiID igDockBuilderAddNode(ImGuiID node_id,ImGuiDockNodeFlags flags);
CIMGUI_API void igDockBuilderRemoveNode(ImGuiID node_id);
CIMGUI_API void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id,bool clear_persistent_docking_references);
CIMGUI_API void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id);
CIMGUI_API void igDockBuilderSetNodePos(ImGuiID node_id,ImVec2 pos);
CIMGUI_API void igDockBuilderSetNodeSize(ImGuiID node_id,ImVec2 size);
CIMGUI_API ImGuiID igDockBuilderSplitNode(ImGuiID node_id,ImGuiDir split_dir,float size_ratio_for_node_at_dir,ImGuiID* out_id_at_dir,ImGuiID* out_id_at_opposite_dir);
CIMGUI_API void igDockBuilderCopyDockSpace(ImGuiID src_dockspace_id,ImGuiID dst_dockspace_id,ImVector_const_charPtr* in_window_remap_pairs);
CIMGUI_API void igDockBuilderCopyNode(ImGuiID src_node_id,ImGuiID dst_node_id,ImVector_ImGuiID* out_node_remap_pairs);
CIMGUI_API void igDockBuilderCopyWindowSettings(const char* src_name,const char* dst_name);
CIMGUI_API void igDockBuilderFinish(ImGuiID node_id);
CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb,ImGuiID id);
CIMGUI_API void igClearDragDrop(void);
CIMGUI_API bool igIsDragDropPayloadBeingAccepted(void);
@@ -2629,12 +2990,14 @@ CIMGUI_API ImGuiID igGetColumnsID(const char* str_id,int count);
CIMGUI_API ImGuiColumns* igFindOrCreateColumns(ImGuiWindow* window,ImGuiID id);
CIMGUI_API float igGetColumnOffsetFromNorm(const ImGuiColumns* columns,float offset_norm);
CIMGUI_API float igGetColumnNormFromOffset(const ImGuiColumns* columns,float offset);
CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar,const ImRect bb,ImGuiTabBarFlags flags);
CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar,const ImRect bb,ImGuiTabBarFlags flags,ImGuiDockNode* dock_node);
CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow(ImGuiTabBar* tab_bar);
CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar,ImGuiTabItemFlags tab_flags,ImGuiWindow* window);
CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id);
CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
CIMGUI_API void igTabBarQueueChangeTabOrder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int dir);
CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar,const char* label,bool* p_open,ImGuiTabItemFlags flags);
CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar,const char* label,bool* p_open,ImGuiTabItemFlags flags,ImGuiWindow* docked_window);
CIMGUI_API void igTabItemCalcSize(ImVec2 *pOut,const char* label,bool has_close_button);
CIMGUI_API void igTabItemBackground(ImDrawList* draw_list,const ImRect bb,ImGuiTabItemFlags flags,ImU32 col);
CIMGUI_API bool igTabItemLabelAndCloseButton(ImDrawList* draw_list,const ImRect bb,ImGuiTabItemFlags flags,ImVec2 frame_padding,const char* label,ImGuiID tab_id,ImGuiID close_button_id);
@@ -2654,11 +3017,13 @@ CIMGUI_API void igRenderBullet(ImDrawList* draw_list,ImVec2 pos,ImU32 col);
CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list,ImVec2 pos,ImU32 col,float sz);
CIMGUI_API void igRenderMouseCursor(ImDrawList* draw_list,ImVec2 pos,float scale,ImGuiMouseCursor mouse_cursor,ImU32 col_fill,ImU32 col_border,ImU32 col_shadow);
CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list,ImVec2 pos,ImVec2 half_sz,ImGuiDir direction,ImU32 col);
CIMGUI_API void igRenderArrowDockMenu(ImDrawList* draw_list,ImVec2 p_min,float sz,ImU32 col);
CIMGUI_API void igRenderRectFilledRangeH(ImDrawList* draw_list,const ImRect rect,ImU32 col,float x_start_norm,float x_end_norm,float rounding);
CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list,ImRect outer,ImRect inner,ImU32 col,float rounding);
CIMGUI_API void igTextEx(const char* text,const char* text_end,ImGuiTextFlags flags);
CIMGUI_API bool igButtonEx(const char* label,const ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos);
CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos,ImGuiDockNode* dock_node);
CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags);
CIMGUI_API void igScrollbar(ImGuiAxis axis);
CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,float* p_scroll_v,float avail_v,float contents_v,ImDrawCornerFlags rounding_corners);