pull imgui docking and regenerate

This commit is contained in:
Victor Bombi
2020-12-23 10:13:02 +01:00
parent 3b563153fd
commit 7d5f753a9d
13 changed files with 9615 additions and 3074 deletions

407
cimgui.h
View File

@@ -1,6 +1,7 @@
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
//based on imgui.h file version "1.79" from Dear ImGui https://github.com/ocornut/imgui
//with imgui_internal.h api
//docking branch
#ifndef CIMGUI_INCLUDED
#define CIMGUI_INCLUDED
#include <stdio.h>
@@ -42,6 +43,7 @@ typedef unsigned __int64 ImU64;
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
typedef struct ImGuiViewportP ImGuiViewportP;
typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex;
typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
typedef struct ImGuiDataTypeTempStorage ImGuiDataTypeTempStorage;
@@ -66,6 +68,10 @@ typedef struct ImGuiMenuColumns ImGuiMenuColumns;
typedef struct ImGuiLastItemDataBackup ImGuiLastItemDataBackup;
typedef struct ImGuiInputTextState ImGuiInputTextState;
typedef struct ImGuiGroupData ImGuiGroupData;
typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings;
typedef struct ImGuiDockNode ImGuiDockNode;
typedef struct ImGuiDockRequest ImGuiDockRequest;
typedef struct ImGuiDockContext ImGuiDockContext;
typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
typedef struct ImGuiColumns ImGuiColumns;
typedef struct ImGuiColumnData ImGuiColumnData;
@@ -78,11 +84,15 @@ typedef struct ImGuiStoragePair ImGuiStoragePair;
typedef struct ImGuiTextRange ImGuiTextRange;
typedef struct ImVec4 ImVec4;
typedef struct ImVec2 ImVec2;
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;
@@ -122,11 +132,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;
@@ -144,6 +158,7 @@ typedef int ImGuiButtonFlags;
typedef int ImGuiColorEditFlags;
typedef int ImGuiConfigFlags;
typedef int ImGuiComboFlags;
typedef int ImGuiDockNodeFlags;
typedef int ImGuiDragDropFlags;
typedef int ImGuiFocusedFlags;
typedef int ImGuiHoveredFlags;
@@ -155,6 +170,7 @@ typedef int ImGuiSliderFlags;
typedef int ImGuiTabBarFlags;
typedef int ImGuiTabItemFlags;
typedef int ImGuiTreeNodeFlags;
typedef int ImGuiViewportFlags;
typedef int ImGuiWindowFlags;
typedef void* ImTextureID;
typedef unsigned int ImGuiID;
@@ -182,6 +198,10 @@ struct ImGuiColumnData;
struct ImGuiColumns;
struct ImGuiContext;
struct ImGuiDataTypeInfo;
struct ImGuiDockContext;
struct ImGuiDockRequest;
struct ImGuiDockNode;
struct ImGuiDockNodeSettings;
struct ImGuiGroupData;
struct ImGuiInputTextState;
struct ImGuiLastItemDataBackup;
@@ -197,6 +217,7 @@ struct ImGuiTabItem;
struct ImGuiWindow;
struct ImGuiWindowTempData;
struct ImGuiWindowSettings;
typedef int ImGuiDataAuthority;
typedef int ImGuiLayoutType;
typedef int ImGuiButtonFlags;
typedef int ImGuiColumnsFlags;
@@ -228,9 +249,12 @@ typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} I
typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
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_ImGuiDockNodeSettings {int Size;int Capacity;ImGuiDockNodeSettings* Data;} ImVector_ImGuiDockNodeSettings;
typedef struct ImVector_ImGuiDockRequest {int Size;int Capacity;ImGuiDockRequest* Data;} ImVector_ImGuiDockRequest;
typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
typedef struct ImVector_ImGuiPlatformMonitor {int Size;int Capacity;ImGuiPlatformMonitor* Data;} ImVector_ImGuiPlatformMonitor;
typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
@@ -239,6 +263,8 @@ typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair
typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange;
typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport** Data;} ImVector_ImGuiViewportPtr;
typedef struct ImVector_ImGuiViewportPPtr {int Size;int Capacity;ImGuiViewportP** Data;} ImVector_ImGuiViewportPPtr;
typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
typedef struct ImVector_ImU32 {int Size;int Capacity;ImU32* Data;} ImVector_ImU32;
@@ -246,6 +272,7 @@ typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_Im
typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4;
typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
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_float {int Size;int Capacity;float* Data;} ImVector_float;
typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
@@ -279,6 +306,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,
@@ -287,7 +315,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,
@@ -407,6 +436,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,
@@ -506,6 +544,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_;
@@ -514,7 +556,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,
@@ -555,6 +600,8 @@ typedef enum {
ImGuiCol_TabActive,
ImGuiCol_TabUnfocused,
ImGuiCol_TabUnfocusedActive,
ImGuiCol_DockingPreview,
ImGuiCol_DockingEmptyBg,
ImGuiCol_PlotLines,
ImGuiCol_PlotLinesHovered,
ImGuiCol_PlotHistogram,
@@ -729,6 +776,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;
@@ -743,13 +798,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;
@@ -813,6 +867,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;
@@ -940,6 +1005,7 @@ struct ImDrawData
ImVec2 DisplayPos;
ImVec2 DisplaySize;
ImVec2 FramebufferScale;
ImGuiViewport* OwnerViewport;
};
struct ImFontConfig
{
@@ -1029,6 +1095,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 StbUndoRecord
{
int where;
@@ -1337,7 +1471,10 @@ typedef enum {
ImGuiNextWindowDataFlags_HasSizeConstraint = 1 << 4,
ImGuiNextWindowDataFlags_HasFocus = 1 << 5,
ImGuiNextWindowDataFlags_HasBgAlpha = 1 << 6,
ImGuiNextWindowDataFlags_HasScroll = 1 << 7
ImGuiNextWindowDataFlags_HasScroll = 1 << 7,
ImGuiNextWindowDataFlags_HasViewport = 1 << 8,
ImGuiNextWindowDataFlags_HasDock = 1 << 9,
ImGuiNextWindowDataFlags_HasWindowClass = 1 << 10
}ImGuiNextWindowDataFlags_;
struct ImGuiNextWindowData
{
@@ -1345,16 +1482,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 {
@@ -1413,11 +1555,117 @@ struct ImGuiColumns
ImVector_ImGuiColumnData Columns;
ImDrawListSplitter Splitter;
};
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_NoDockingSplitMe = 1 << 17,
ImGuiDockNodeFlags_NoDockingSplitOther = 1 << 18,
ImGuiDockNodeFlags_NoDockingOverMe = 1 << 19,
ImGuiDockNodeFlags_NoDockingOverOther = 1 << 20,
ImGuiDockNodeFlags_NoResizeX = 1 << 21,
ImGuiDockNodeFlags_NoResizeY = 1 << 22,
ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0,
ImGuiDockNodeFlags_NoResizeFlagsMask_ = ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_NoResizeX | ImGuiDockNodeFlags_NoResizeY,
ImGuiDockNodeFlags_LocalFlagsMask_ = ImGuiDockNodeFlags_NoSplit | ImGuiDockNodeFlags_NoResizeFlagsMask_ | 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_NoResizeFlagsMask_ | 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 ImGuiDockContext
{
ImGuiStorage Nodes;
ImVector_ImGuiDockRequest Requests;
ImVector_ImGuiDockNodeSettings NodesSettings;
bool WantFullRebuild;
};
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 ImGuiWindowSettings
{
ImGuiID ID;
ImVec2ih Pos;
ImVec2ih Size;
ImVec2ih ViewportPos;
ImGuiID ViewportId;
ImGuiID DockId;
ImGuiID ClassId;
short DockOrder;
bool Collapsed;
bool WantApply;
};
@@ -1438,7 +1686,10 @@ struct ImGuiContext
bool Initialized;
bool FontAtlasOwnedByContext;
ImGuiIO IO;
ImGuiPlatformIO PlatformIO;
ImGuiStyle Style;
ImGuiConfigFlags ConfigFlagsCurrFrame;
ImGuiConfigFlags ConfigFlagsLastFrame;
ImFont* Font;
float FontSize;
float FontBaseSize;
@@ -1446,6 +1697,7 @@ struct ImGuiContext
double Time;
int FrameCount;
int FrameCountEnded;
int FrameCountPlatformEnded;
int FrameCountRendered;
bool WithinFrameScope;
bool WithinFrameScopeWithImplicitWindow;
@@ -1463,6 +1715,7 @@ struct ImGuiContext
ImGuiWindow* HoveredWindow;
ImGuiWindow* HoveredRootWindow;
ImGuiWindow* HoveredWindowUnderMovingWindow;
ImGuiDockNode* HoveredDockNode;
ImGuiWindow* MovingWindow;
ImGuiWindow* WheelingWindow;
ImVec2 WheelingWindowRefMousePos;
@@ -1502,6 +1755,12 @@ struct ImGuiContext
ImVector_ImFontPtr FontStack;
ImVector_ImGuiPopupData OpenPopupStack;
ImVector_ImGuiPopupData BeginPopupStack;
ImVector_ImGuiViewportPPtr Viewports;
float CurrentDpiScale;
ImGuiViewportP* CurrentViewport;
ImGuiViewportP* MouseViewport;
ImGuiViewportP* MouseLastHoveredViewport;
int ViewportFrontMostStampCount;
ImGuiWindow* NavWindow;
ImGuiID NavId;
ImGuiID NavFocusScopeId;
@@ -1552,11 +1811,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;
@@ -1599,7 +1854,9 @@ struct ImGuiContext
ImVector_ImGuiID MenusIdSubmittedThisFrame;
ImVec2 PlatformImePos;
ImVec2 PlatformImeLastPos;
ImGuiViewportP* PlatformImePosViewport;
char PlatformLocaleDecimalPoint;
ImGuiDockContext DockContext;
bool SettingsLoaded;
float SettingsDirtyTimer;
ImGuiTextBuffer SettingsIniData;
@@ -1672,7 +1929,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;
@@ -1691,6 +1953,7 @@ struct ImGuiWindow
ImVec2 ScrollTargetEdgeSnapDist;
ImVec2 ScrollbarSizes;
bool ScrollbarX, ScrollbarY;
bool ViewportOwned;
bool Active;
bool WasActive;
bool WriteAccessed;
@@ -1715,6 +1978,7 @@ struct ImGuiWindow
ImGuiCond SetWindowPosAllowFlags;
ImGuiCond SetWindowSizeAllowFlags;
ImGuiCond SetWindowCollapsedAllowFlags;
ImGuiCond SetWindowDockAllowFlags;
ImVec2 SetWindowPosVal;
ImVec2 SetWindowPosPivot;
ImVector_ImGuiID IDStack;
@@ -1729,16 +1993,19 @@ struct ImGuiWindow
ImVec2ih HitTestHoleSize;
ImVec2ih 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;
@@ -1747,6 +2014,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 ImGuiLastItemDataBackup
{
@@ -1762,12 +2038,15 @@ typedef enum {
}ImGuiTabBarFlagsPrivate_;
typedef enum {
ImGuiTabItemFlags_NoCloseButton = 1 << 20,
ImGuiTabItemFlags_Button = 1 << 21
ImGuiTabItemFlags_Button = 1 << 21,
ImGuiTabItemFlags_Unsorted = 1 << 22,
ImGuiTabItemFlags_Preview = 1 << 23
}ImGuiTabItemFlagsPrivate_;
struct ImGuiTabItem
{
ImGuiID ID;
ImGuiTabItemFlags Flags;
ImGuiWindow* Window;
int LastFrameVisible;
int LastFrameSelected;
float Offset;
@@ -1808,6 +2087,8 @@ struct ImGuiTabBar
ImVec2 FramePadding;
ImGuiTextBuffer TabsNames;
};
#define IMGUI_HAS_DOCK 1
#else
struct GLFWwindow;
struct SDL_Window;
@@ -1835,9 +2116,12 @@ typedef ImVector<ImFontGlyph> ImVector_ImFontGlyph;
typedef ImVector<ImGuiColorMod> ImVector_ImGuiColorMod;
typedef ImVector<ImGuiColumnData> ImVector_ImGuiColumnData;
typedef ImVector<ImGuiColumns> ImVector_ImGuiColumns;
typedef ImVector<ImGuiDockNodeSettings> ImVector_ImGuiDockNodeSettings;
typedef ImVector<ImGuiDockRequest> ImVector_ImGuiDockRequest;
typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
typedef ImVector<ImGuiID> ImVector_ImGuiID;
typedef ImVector<ImGuiItemFlags> ImVector_ImGuiItemFlags;
typedef ImVector<ImGuiPlatformMonitor> ImVector_ImGuiPlatformMonitor;
typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData;
typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
typedef ImVector<ImGuiSettingsHandler> ImVector_ImGuiSettingsHandler;
@@ -1846,6 +2130,8 @@ typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair;
typedef ImVector<ImGuiStyleMod> ImVector_ImGuiStyleMod;
typedef ImVector<ImGuiTabItem> ImVector_ImGuiTabItem;
typedef ImVector<ImGuiTextRange> ImVector_ImGuiTextRange;
typedef ImVector<ImGuiViewport*> ImVector_ImGuiViewportPtr;
typedef ImVector<ImGuiViewportP*> ImVector_ImGuiViewportPPtr;
typedef ImVector<ImGuiWindow*> ImVector_ImGuiWindowPtr;
typedef ImVector<ImTextureID> ImVector_ImTextureID;
typedef ImVector<ImU32> ImVector_ImU32;
@@ -1853,6 +2139,7 @@ typedef ImVector<ImVec2> ImVector_ImVec2;
typedef ImVector<ImVec4> ImVector_ImVec4;
typedef ImVector<ImWchar> ImVector_ImWchar;
typedef ImVector<char> ImVector_char;
typedef ImVector<const char*> ImVector_const_charPtr;
typedef ImVector<float> ImVector_float;
typedef ImVector<unsigned char> ImVector_unsigned_char;
#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
@@ -1893,6 +2180,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);
@@ -1904,6 +2193,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);
@@ -2128,6 +2418,12 @@ CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags
CIMGUI_API void igEndTabItem(void);
CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags);
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);
@@ -2165,8 +2461,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);
@@ -2210,6 +2508,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);
@@ -2226,6 +2531,8 @@ CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackDat
CIMGUI_API void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData* self);
CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection(ImGuiInputTextCallbackData* self);
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);
@@ -2424,6 +2731,15 @@ 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_GetCenter(ImVec2 *pOut,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);
@@ -2585,6 +2901,26 @@ CIMGUI_API void ImGuiColumnData_destroy(ImGuiColumnData* self);
CIMGUI_API ImGuiColumns* ImGuiColumns_ImGuiColumns(void);
CIMGUI_API void ImGuiColumns_destroy(ImGuiColumns* self);
CIMGUI_API void ImGuiColumns_Clear(ImGuiColumns* self);
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 ImGuiDockContext* ImGuiDockContext_ImGuiDockContext(void);
CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* 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 ImGuiWindowSettings* ImGuiWindowSettings_ImGuiWindowSettings(void);
CIMGUI_API void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self);
CIMGUI_API char* ImGuiWindowSettings_GetName(ImGuiWindowSettings* self);
@@ -2644,8 +2980,13 @@ 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 void igClearIniSettings(void);
@@ -2722,6 +3063,39 @@ 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 igDockContextClearNodes(ImGuiContext* ctx,ImGuiID root_id,bool clear_settings_refs);
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 int igDockNodeGetDepth(const 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_settings_refs);
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);
@@ -2735,13 +3109,15 @@ 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 igTabBarQueueReorder(ImGuiTabBar* tab_bar,const ImGuiTabItem* tab,int dir);
CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar);
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,bool is_contents_visible);
@@ -2761,12 +3137,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);