mirror of
https://github.com/Drezil/imgui.git
synced 2024-12-18 22:26:34 +00:00
Docking: DockSpace() returns its node ID + adding branch changelog.
This commit is contained in:
parent
a4adf60576
commit
5991851eb9
@ -126,6 +126,15 @@ Other Changes:
|
||||
- Examples: Vulkan: Rebuild swapchain on VK_SUBOPTIMAL_KHR. (#3881)
|
||||
- Docs: Improvements to minor mistakes in documentation comments (#3923) [@ANF-Studios]
|
||||
|
||||
Docking Branch:
|
||||
|
||||
- Docking: DockSpace() returns its node ID.
|
||||
- Docking: Dockspace() never draws a background. (#3924)
|
||||
- Docking: undocking nodes/windows covering most of the monitor max their size down to 90% to ease further manipulations.
|
||||
- Viewports: Hotfix for crash in monitor array access, caused by 4b9bc4902. (#3967)
|
||||
- Backends, Viewports: GLFW: Add a workaround for stuck keys after closing a GLFW window (#3837).
|
||||
- Backends, Viewports: Vulkan: Rebuild swapchain on VK_SUBOPTIMAL_KHR. (#3881)
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.82 (Released 2021-02-15)
|
||||
|
@ -14730,13 +14730,13 @@ void ImGui::SetWindowDock(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond)
|
||||
// Create an explicit dockspace node within an existing window. Also expose dock node flags and creates a CentralNode by default.
|
||||
// The Central Node is always displayed even when empty and shrink/extend according to the requested size of its neighbors.
|
||||
// DockSpace() needs to be submitted _before_ any window they can host. If you use a dockspace, submit it early in your app.
|
||||
void ImGui::DockSpace(ImGuiID id, const ImVec2& size_arg, ImGuiDockNodeFlags flags, const ImGuiWindowClass* window_class)
|
||||
ImGuiID ImGui::DockSpace(ImGuiID id, const ImVec2& size_arg, ImGuiDockNodeFlags flags, const ImGuiWindowClass* window_class)
|
||||
{
|
||||
ImGuiContext* ctx = GImGui;
|
||||
ImGuiContext& g = *ctx;
|
||||
ImGuiWindow* window = GetCurrentWindow();
|
||||
if (!(g.IO.ConfigFlags & ImGuiConfigFlags_DockingEnable))
|
||||
return;
|
||||
return 0;
|
||||
|
||||
// Early out if parent window is hidden/collapsed
|
||||
// This is faster but also DockNodeUpdateTabBar() relies on TabBarLayout() running (which won't if SkipItems=true) to set NextSelectedTabId = 0). See #2960.
|
||||
@ -14764,7 +14764,7 @@ void ImGui::DockSpace(ImGuiID id, const ImVec2& size_arg, ImGuiDockNodeFlags fla
|
||||
{
|
||||
IM_ASSERT(node->IsDockSpace() == false && "Cannot call DockSpace() twice a frame with the same ID");
|
||||
node->LocalFlags |= ImGuiDockNodeFlags_DockSpace;
|
||||
return;
|
||||
return id;
|
||||
}
|
||||
node->LocalFlags |= ImGuiDockNodeFlags_DockSpace;
|
||||
|
||||
@ -14772,7 +14772,7 @@ void ImGui::DockSpace(ImGuiID id, const ImVec2& size_arg, ImGuiDockNodeFlags fla
|
||||
if (flags & ImGuiDockNodeFlags_KeepAliveOnly)
|
||||
{
|
||||
node->LastFrameAlive = g.FrameCount;
|
||||
return;
|
||||
return id;
|
||||
}
|
||||
|
||||
const ImVec2 content_avail = GetContentRegionAvail();
|
||||
@ -14825,6 +14825,7 @@ void ImGui::DockSpace(ImGuiID id, const ImVec2& size_arg, ImGuiDockNodeFlags fla
|
||||
|
||||
End();
|
||||
ItemSize(size);
|
||||
return id;
|
||||
}
|
||||
|
||||
// Tips: Use with ImGuiDockNodeFlags_PassthruCentralNode!
|
||||
|
2
imgui.h
2
imgui.h
@ -764,7 +764,7 @@ namespace ImGui
|
||||
// About DockSpace:
|
||||
// - Use DockSpace() to create an explicit dock node _within_ an existing window. See Docking demo for details.
|
||||
// - DockSpace() needs to be submitted _before_ any window they can host. If you use a dockspace, submit it early in your app.
|
||||
IMGUI_API void DockSpace(ImGuiID id, const ImVec2& size = ImVec2(0, 0), ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL);
|
||||
IMGUI_API ImGuiID DockSpace(ImGuiID id, const ImVec2& size = ImVec2(0, 0), ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL);
|
||||
IMGUI_API ImGuiID DockSpaceOverViewport(const ImGuiViewport* viewport = NULL, ImGuiDockNodeFlags flags = 0, const ImGuiWindowClass* window_class = NULL);
|
||||
IMGUI_API void SetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond = 0); // set next window dock id (FIXME-DOCK)
|
||||
IMGUI_API void SetNextWindowClass(const ImGuiWindowClass* window_class); // set next window class (rare/advanced uses: provide hints to the platform backend via altered viewport flags and parent/child info)
|
||||
|
Loading…
Reference in New Issue
Block a user