mirror of
https://github.com/Drezil/imgui.git
synced 2024-12-21 23:26:36 +00:00
Internals: Added function index for Viewport and Docking. Renamed a few functions.
This commit is contained in:
parent
451c756b01
commit
5d87ee8d82
138
imgui.cpp
138
imgui.cpp
@ -10262,6 +10262,29 @@ static void SettingsHandlerWindow_WriteAll(ImGuiContext* ctx, ImGuiSettingsHandl
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// [SECTION] VIEWPORTS, PLATFORM WINDOWS
|
// [SECTION] VIEWPORTS, PLATFORM WINDOWS
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - GetMainViewport()
|
||||||
|
// - FindViewportByID()
|
||||||
|
// - FindViewportByPlatformHandle()
|
||||||
|
// - SetCurrentViewport() [Internal]
|
||||||
|
// - SetWindowViewport() [Internal]
|
||||||
|
// - GetWindowAlwaysWantOwnViewport() [Internal]
|
||||||
|
// - UpdateTryMergeWindowIntoHostViewport() [Internal]
|
||||||
|
// - UpdateTryMergeWindowIntoHostViewports() [Internal]
|
||||||
|
// - TranslateWindowsInViewport() [Internal]
|
||||||
|
// - ScaleWindowsInViewport() [Internal]
|
||||||
|
// - FindHoveredViewportFromPlatformWindowStack() [Internal]
|
||||||
|
// - UpdateViewportsNewFrame() [Internal]
|
||||||
|
// - UpdateViewportsEndFrame() [Internal]
|
||||||
|
// - AddUpdateViewport() [Internal]
|
||||||
|
// - UpdateSelectWindowViewport() [Internal]
|
||||||
|
// - UpdatePlatformWindows()
|
||||||
|
// - RenderPlatformWindowsDefault()
|
||||||
|
// - FindPlatformMonitorForPos() [Internal]
|
||||||
|
// - FindPlatformMonitorForRect() [Internal]
|
||||||
|
// - UpdateViewportPlatformMonitor() [Internal]
|
||||||
|
// - DestroyPlatformWindow() [Internal]
|
||||||
|
// - DestroyPlatformWindows()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
ImGuiViewport* ImGui::GetMainViewport()
|
ImGuiViewport* ImGui::GetMainViewport()
|
||||||
{
|
{
|
||||||
@ -10401,7 +10424,7 @@ void ImGui::ScaleWindowsInViewport(ImGuiViewportP* viewport, float scale)
|
|||||||
// If the back-end doesn't set MouseLastHoveredViewport or doesn't honor ImGuiViewportFlags_NoInputs, we do a search ourselves.
|
// If the back-end doesn't set MouseLastHoveredViewport or doesn't honor ImGuiViewportFlags_NoInputs, we do a search ourselves.
|
||||||
// A) It won't take account of the possibility that non-imgui windows may be in-between our dragged window and our target window.
|
// A) It won't take account of the possibility that non-imgui windows may be in-between our dragged window and our target window.
|
||||||
// B) It requires Platform_GetWindowFocus to be implemented by back-end.
|
// B) It requires Platform_GetWindowFocus to be implemented by back-end.
|
||||||
static ImGuiViewportP* FindViewportHoveredFromPlatformWindowStack(const ImVec2 mouse_platform_pos)
|
static ImGuiViewportP* FindHoveredViewportFromPlatformWindowStack(const ImVec2 mouse_platform_pos)
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
ImGuiViewportP* best_candidate = NULL;
|
ImGuiViewportP* best_candidate = NULL;
|
||||||
@ -10416,7 +10439,7 @@ static ImGuiViewportP* FindViewportHoveredFromPlatformWindowStack(const ImVec2 m
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update viewports and monitor infos
|
// Update viewports and monitor infos
|
||||||
// Note that this is runing even if 'ImGuiConfigFlags_ViewportsEnable' is not set, in order to clear unused viewports (if any) and update monitor info.
|
// Note that this is running even if 'ImGuiConfigFlags_ViewportsEnable' is not set, in order to clear unused viewports (if any) and update monitor info.
|
||||||
static void ImGui::UpdateViewportsNewFrame()
|
static void ImGui::UpdateViewportsNewFrame()
|
||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
@ -10547,7 +10570,7 @@ static void ImGui::UpdateViewportsNewFrame()
|
|||||||
{
|
{
|
||||||
// Back-end failed at honoring its contract if it returned a viewport with the _NoInputs flag.
|
// Back-end failed at honoring its contract if it returned a viewport with the _NoInputs flag.
|
||||||
IM_ASSERT(0);
|
IM_ASSERT(0);
|
||||||
viewport_hovered = FindViewportHoveredFromPlatformWindowStack(g.IO.MousePos);
|
viewport_hovered = FindHoveredViewportFromPlatformWindowStack(g.IO.MousePos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -10555,7 +10578,7 @@ static void ImGui::UpdateViewportsNewFrame()
|
|||||||
// If the back-end doesn't know how to honor ImGuiViewportFlags_NoInputs, we do a search ourselves. Note that this search:
|
// If the back-end doesn't know how to honor ImGuiViewportFlags_NoInputs, we do a search ourselves. Note that this search:
|
||||||
// A) won't take account of the possibility that non-imgui windows may be in-between our dragged window and our target window.
|
// A) won't take account of the possibility that non-imgui windows may be in-between our dragged window and our target window.
|
||||||
// B) uses LastFrameAsRefViewport as a flawed replacement for the last time a window was focused (we could/should fix that by introducing Focus functions in PlatformIO)
|
// B) uses LastFrameAsRefViewport as a flawed replacement for the last time a window was focused (we could/should fix that by introducing Focus functions in PlatformIO)
|
||||||
viewport_hovered = FindViewportHoveredFromPlatformWindowStack(g.IO.MousePos);
|
viewport_hovered = FindHoveredViewportFromPlatformWindowStack(g.IO.MousePos);
|
||||||
}
|
}
|
||||||
if (viewport_hovered != NULL)
|
if (viewport_hovered != NULL)
|
||||||
g.MouseLastHoveredViewport = viewport_hovered;
|
g.MouseLastHoveredViewport = viewport_hovered;
|
||||||
@ -11043,15 +11066,21 @@ void ImGui::DestroyPlatformWindows()
|
|||||||
// Docking: ImGuiDockContext Docking/Undocking functions
|
// Docking: ImGuiDockContext Docking/Undocking functions
|
||||||
// Docking: ImGuiDockNode
|
// Docking: ImGuiDockNode
|
||||||
// Docking: ImGuiDockNode Tree manipulation functions
|
// Docking: ImGuiDockNode Tree manipulation functions
|
||||||
// Docking: Public Functions (SetWindowDock, DockSpace)
|
// Docking: Public Functions (SetWindowDock, DockSpace, DockSpaceOverViewport)
|
||||||
// Docking: Builder Functions
|
// Docking: Builder Functions
|
||||||
// Docking: Begin/End Functions (called from Begin/End)
|
// Docking: Begin/End Support Functions (called from Begin/End)
|
||||||
// Docking: Settings
|
// Docking: Settings
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Docking: Internal Types
|
// Docking: Internal Types
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - ImGuiDockRequestType
|
||||||
|
// - ImGuiDockRequest
|
||||||
|
// - ImGuiDockPreviewData
|
||||||
|
// - ImGuiDockNodeSettings
|
||||||
|
// - ImGuiDockContext
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
static float IMGUI_DOCK_SPLITTER_SIZE = 2.0f;
|
static float IMGUI_DOCK_SPLITTER_SIZE = 2.0f;
|
||||||
|
|
||||||
@ -11198,6 +11227,22 @@ namespace ImGui
|
|||||||
// we can also very easily recreate the nodes from scratch given the settings data (this is what DockContextRebuild() does).
|
// we can also very easily recreate the nodes from scratch given the settings data (this is what DockContextRebuild() does).
|
||||||
// This is convenient as docking reconfiguration can be implemented by mostly poking at the simpler settings data.
|
// This is convenient as docking reconfiguration can be implemented by mostly poking at the simpler settings data.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - DockContextInitialize()
|
||||||
|
// - DockContextShutdown()
|
||||||
|
// - DockContextOnLoadSettings()
|
||||||
|
// - DockContextClearNodes()
|
||||||
|
// - DockContextRebuildNodes()
|
||||||
|
// - DockContextUpdateUndocking()
|
||||||
|
// - DockContextUpdateDocking()
|
||||||
|
// - DockContextFindNodeByID()
|
||||||
|
// - DockContextGenNodeID()
|
||||||
|
// - DockContextAddNode()
|
||||||
|
// - DockContextRemoveNode()
|
||||||
|
// - ImGuiDockContextPruneNodeData
|
||||||
|
// - DockContextPruneUnusedSettingsNodes()
|
||||||
|
// - DockContextBuildNodesFromSettings()
|
||||||
|
// - DockContextBuildAddWindowsToNodes()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void ImGui::DockContextInitialize(ImGuiContext* ctx)
|
void ImGui::DockContextInitialize(ImGuiContext* ctx)
|
||||||
{
|
{
|
||||||
@ -11242,7 +11287,7 @@ void ImGui::DockContextClearNodes(ImGuiContext* ctx, ImGuiID root_id, bool clear
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This function also acts as a defacto test to make sure we can rebuild from scratch without a glitch
|
// This function also acts as a defacto test to make sure we can rebuild from scratch without a glitch
|
||||||
void ImGui::DockContextRebuild(ImGuiContext* ctx)
|
void ImGui::DockContextRebuildNodes(ImGuiContext* ctx)
|
||||||
{
|
{
|
||||||
IMGUI_DEBUG_LOG_DOCKING("DockContextRebuild()\n");
|
IMGUI_DEBUG_LOG_DOCKING("DockContextRebuild()\n");
|
||||||
ImGuiDockContext* dc = ctx->DockContext;
|
ImGuiDockContext* dc = ctx->DockContext;
|
||||||
@ -11282,7 +11327,7 @@ void ImGui::DockContextUpdateUndocking(ImGuiContext* ctx)
|
|||||||
#endif
|
#endif
|
||||||
if (dc->WantFullRebuild)
|
if (dc->WantFullRebuild)
|
||||||
{
|
{
|
||||||
DockContextRebuild(ctx);
|
DockContextRebuildNodes(ctx);
|
||||||
dc->WantFullRebuild = false;
|
dc->WantFullRebuild = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11510,6 +11555,15 @@ void ImGui::DockContextBuildAddWindowsToNodes(ImGuiContext* ctx, ImGuiID root_id
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Docking: ImGuiDockContext Docking/Undocking functions
|
// Docking: ImGuiDockContext Docking/Undocking functions
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - DockContextQueueDock()
|
||||||
|
// - DockContextQueueUndockWindow()
|
||||||
|
// - DockContextQueueUndockNode()
|
||||||
|
// - DockContextQueueNotifyRemovedNode()
|
||||||
|
// - DockContextProcessDock()
|
||||||
|
// - DockContextProcessUndockWindow()
|
||||||
|
// - DockContextProcessUndockNode()
|
||||||
|
// - DockContextCalcDropPosForDocking()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void ImGui::DockContextQueueDock(ImGuiContext* ctx, ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, float split_ratio, bool split_outer)
|
void ImGui::DockContextQueueDock(ImGuiContext* ctx, ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, float split_ratio, bool split_outer)
|
||||||
{
|
{
|
||||||
@ -11753,6 +11807,31 @@ bool ImGui::DockContextCalcDropPosForDocking(ImGuiWindow* target, ImGuiDockNode*
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Docking: ImGuiDockNode
|
// Docking: ImGuiDockNode
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - DockNodeGetTabOrder()
|
||||||
|
// - DockNodeAddWindow()
|
||||||
|
// - DockNodeRemoveWindow()
|
||||||
|
// - DockNodeMoveChildNodes()
|
||||||
|
// - DockNodeMoveWindows()
|
||||||
|
// - DockNodeApplyPosSizeToWindows()
|
||||||
|
// - DockNodeHideHostWindow()
|
||||||
|
// - ImGuiDockNodeFindInfoResults
|
||||||
|
// - DockNodeFindInfo()
|
||||||
|
// - DockNodeUpdateVisibleFlagAndInactiveChilds()
|
||||||
|
// - DockNodeUpdateVisibleFlag()
|
||||||
|
// - DockNodeStartMouseMovingWindow()
|
||||||
|
// - DockNodeUpdate()
|
||||||
|
// - DockNodeUpdateWindowMenu()
|
||||||
|
// - DockNodeUpdateTabBar()
|
||||||
|
// - DockNodeAddTabBar()
|
||||||
|
// - DockNodeRemoveTabBar()
|
||||||
|
// - DockNodeIsDropAllowedOne()
|
||||||
|
// - DockNodeIsDropAllowed()
|
||||||
|
// - DockNodeCalcTabBarLayout()
|
||||||
|
// - DockNodeCalcSplitRects()
|
||||||
|
// - DockNodeCalcDropRectsAndTestMousePos()
|
||||||
|
// - DockNodePreviewDockCalc()
|
||||||
|
// - DockNodePreviewDockRender()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
ImGuiDockNode::ImGuiDockNode(ImGuiID id)
|
ImGuiDockNode::ImGuiDockNode(ImGuiID id)
|
||||||
{
|
{
|
||||||
@ -13017,6 +13096,14 @@ static void ImGui::DockNodePreviewDockRender(ImGuiWindow* host_window, ImGuiDock
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Docking: ImGuiDockNode Tree manipulation functions
|
// Docking: ImGuiDockNode Tree manipulation functions
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - DockNodeTreeSplit()
|
||||||
|
// - DockNodeTreeMerge()
|
||||||
|
// - DockNodeTreeUpdatePosSize()
|
||||||
|
// - DockNodeTreeUpdateSplitterFindTouchingNode()
|
||||||
|
// - DockNodeTreeUpdateSplitter()
|
||||||
|
// - DockNodeTreeFindFallbackLeafNode()
|
||||||
|
// - DockNodeTreeFindNodeByPos()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void ImGui::DockNodeTreeSplit(ImGuiContext* ctx, ImGuiDockNode* parent_node, ImGuiAxis split_axis, int split_inheritor_child_idx, float split_ratio, ImGuiDockNode* new_node)
|
void ImGui::DockNodeTreeSplit(ImGuiContext* ctx, ImGuiDockNode* parent_node, ImGuiAxis split_axis, int split_inheritor_child_idx, float split_ratio, ImGuiDockNode* new_node)
|
||||||
{
|
{
|
||||||
@ -13352,6 +13439,10 @@ ImGuiDockNode* ImGui::DockNodeTreeFindNodeByPos(ImGuiDockNode* node, ImVec2 pos)
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Docking: Public Functions (SetWindowDock, DockSpace, DockSpaceOverViewport)
|
// Docking: Public Functions (SetWindowDock, DockSpace, DockSpaceOverViewport)
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - SetWindowDock() [Internal]
|
||||||
|
// - DockSpace()
|
||||||
|
// - DockSpaceOverViewport()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
// [Internal] Called via SetNextWindowDockID()
|
// [Internal] Called via SetNextWindowDockID()
|
||||||
void ImGui::SetWindowDock(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond)
|
void ImGui::SetWindowDock(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond)
|
||||||
@ -13511,8 +13602,24 @@ ImGuiID ImGui::DockSpaceOverViewport(ImGuiViewport* viewport, ImGuiDockNodeFlags
|
|||||||
// Docking: Builder Functions
|
// Docking: Builder Functions
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Very early end-user API to manipulate dock nodes.
|
// Very early end-user API to manipulate dock nodes.
|
||||||
|
// Only available in imgui_internal.h. Expect this API to change/break!
|
||||||
// It is expected that those functions are all called _before_ the dockspace node submission.
|
// It is expected that those functions are all called _before_ the dockspace node submission.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - DockBuilderDockWindow()
|
||||||
|
// - DockBuilderGetNode()
|
||||||
|
// - DockBuilderSetNodePos()
|
||||||
|
// - DockBuilderSetNodeSize()
|
||||||
|
// - DockBuilderAddNode()
|
||||||
|
// - DockBuilderRemoveNode()
|
||||||
|
// - DockBuilderRemoveNodeChildNodes()
|
||||||
|
// - DockBuilderRemoveNodeDockedWindows()
|
||||||
|
// - DockBuilderSplitNode()
|
||||||
|
// - DockBuilderCopyNodeRec()
|
||||||
|
// - DockBuilderCopyNode()
|
||||||
|
// - DockBuilderCopyWindowSettings()
|
||||||
|
// - DockBuilderCopyDockSpace()
|
||||||
|
// - DockBuilderFinish()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void ImGui::DockBuilderDockWindow(const char* window_name, ImGuiID node_id)
|
void ImGui::DockBuilderDockWindow(const char* window_name, ImGuiID node_id)
|
||||||
{
|
{
|
||||||
@ -13888,7 +13995,12 @@ void ImGui::DockBuilderFinish(ImGuiID root_id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Docking: Begin/End Functions (called from Begin/End)
|
// Docking: Begin/End Support Functions (called from Begin/End)
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// - GetWindowAlwaysWantOwnTabBar()
|
||||||
|
// - BeginDocked()
|
||||||
|
// - BeginAsDockableDragDropSource()
|
||||||
|
// - BeginAsDockableDragDropTarget()
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool ImGui::GetWindowAlwaysWantOwnTabBar(ImGuiWindow* window)
|
bool ImGui::GetWindowAlwaysWantOwnTabBar(ImGuiWindow* window)
|
||||||
@ -14139,6 +14251,14 @@ void ImGui::BeginAsDockableDragDropTarget(ImGuiWindow* window)
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Docking: Settings
|
// Docking: Settings
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
// - DockSettingsRenameNodeReferences()
|
||||||
|
// - DockSettingsRemoveNodeReferences()
|
||||||
|
// - DockSettingsFindNodeSettings()
|
||||||
|
// - DockSettingsHandler_ReadOpen()
|
||||||
|
// - DockSettingsHandler_ReadLine()
|
||||||
|
// - DockSettingsHandler_DockNodeToSettings()
|
||||||
|
// - DockSettingsHandler_WriteAll()
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
static void ImGui::DockSettingsRenameNodeReferences(ImGuiID old_node_id, ImGuiID new_node_id)
|
static void ImGui::DockSettingsRenameNodeReferences(ImGuiID old_node_id, ImGuiID new_node_id)
|
||||||
{
|
{
|
||||||
|
@ -1774,7 +1774,7 @@ namespace ImGui
|
|||||||
IMGUI_API void DockContextInitialize(ImGuiContext* ctx);
|
IMGUI_API void DockContextInitialize(ImGuiContext* ctx);
|
||||||
IMGUI_API void DockContextShutdown(ImGuiContext* ctx);
|
IMGUI_API void DockContextShutdown(ImGuiContext* ctx);
|
||||||
IMGUI_API void DockContextOnLoadSettings(ImGuiContext* ctx);
|
IMGUI_API void DockContextOnLoadSettings(ImGuiContext* ctx);
|
||||||
IMGUI_API void DockContextRebuild(ImGuiContext* ctx);
|
IMGUI_API void DockContextRebuildNodes(ImGuiContext* ctx);
|
||||||
IMGUI_API void DockContextUpdateUndocking(ImGuiContext* ctx);
|
IMGUI_API void DockContextUpdateUndocking(ImGuiContext* ctx);
|
||||||
IMGUI_API void DockContextUpdateDocking(ImGuiContext* ctx);
|
IMGUI_API void DockContextUpdateDocking(ImGuiContext* ctx);
|
||||||
IMGUI_API void DockContextQueueDock(ImGuiContext* ctx, ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, float split_ratio, bool split_outer);
|
IMGUI_API void DockContextQueueDock(ImGuiContext* ctx, ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, float split_ratio, bool split_outer);
|
||||||
@ -1789,8 +1789,9 @@ namespace ImGui
|
|||||||
IMGUI_API void SetWindowDock(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond);
|
IMGUI_API void SetWindowDock(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond);
|
||||||
|
|
||||||
// Docking - Builder function needs to be generally called before the DockSpace() node is submitted.
|
// Docking - Builder function needs to be generally called before the DockSpace() node is submitted.
|
||||||
|
// Important: do not hold on ImGuiDockNode* pointers. They may be invalidated by any split/merge/remove operation and every frame.
|
||||||
IMGUI_API void DockBuilderDockWindow(const char* window_name, ImGuiID node_id);
|
IMGUI_API void DockBuilderDockWindow(const char* window_name, ImGuiID node_id);
|
||||||
IMGUI_API ImGuiDockNode*DockBuilderGetNode(ImGuiID node_id); // Warning: DO NOT HOLD ON ImGuiDockNode* pointer, will be invalided by any split/merge/remove operation.
|
IMGUI_API ImGuiDockNode*DockBuilderGetNode(ImGuiID node_id);
|
||||||
inline ImGuiDockNode* DockBuilderGetCentralNode(ImGuiID node_id) { ImGuiDockNode* node = DockBuilderGetNode(node_id); if (!node) return NULL; return DockNodeGetRootNode(node)->CentralNode; }
|
inline ImGuiDockNode* DockBuilderGetCentralNode(ImGuiID node_id) { ImGuiDockNode* node = DockBuilderGetNode(node_id); if (!node) return NULL; return DockNodeGetRootNode(node)->CentralNode; }
|
||||||
IMGUI_API ImGuiID DockBuilderAddNode(ImGuiID node_id, ImGuiDockNodeFlags flags = 0); // Use (flags == ImGuiDockNodeFlags_DockSpace) to create a dockspace, otherwise it'll create a floating node.
|
IMGUI_API ImGuiID DockBuilderAddNode(ImGuiID node_id, ImGuiDockNodeFlags flags = 0); // Use (flags == ImGuiDockNodeFlags_DockSpace) to create a dockspace, otherwise it'll create a floating node.
|
||||||
IMGUI_API void DockBuilderRemoveNode(ImGuiID node_id); // Remove node and all its child, undock all windows
|
IMGUI_API void DockBuilderRemoveNode(ImGuiID node_id); // Remove node and all its child, undock all windows
|
||||||
|
Loading…
Reference in New Issue
Block a user