mirror of
https://github.com/ocornut/imgui.git
synced 2025-02-26 22:59:19 +01:00
Docking: move DockTabItemStatusFlags stuff next to its peers in DC structure.
This commit is contained in:
parent
db4e541306
commit
75d99659c4
@ -4816,7 +4816,7 @@ static void ImGui::SetLastItemDataForWindow(ImGuiWindow* window, const ImRect& r
|
|||||||
{
|
{
|
||||||
ImGuiContext& g = *GImGui;
|
ImGuiContext& g = *GImGui;
|
||||||
if (window->DockIsActive)
|
if (window->DockIsActive)
|
||||||
SetLastItemData(window->MoveId, g.CurrentItemFlags, window->DockTabItemStatusFlags, window->DockTabItemRect);
|
SetLastItemData(window->MoveId, g.CurrentItemFlags, window->DC.DockTabItemStatusFlags, window->DC.DockTabItemRect);
|
||||||
else
|
else
|
||||||
SetLastItemData(window->MoveId, g.CurrentItemFlags, window->DC.WindowItemStatusFlags, rect);
|
SetLastItemData(window->MoveId, g.CurrentItemFlags, window->DC.WindowItemStatusFlags, rect);
|
||||||
}
|
}
|
||||||
@ -18537,8 +18537,8 @@ static void ImGui::DockNodeUpdateTabBar(ImGuiDockNode* node, ImGuiWindow* host_w
|
|||||||
node->VisibleWindow = window;
|
node->VisibleWindow = window;
|
||||||
|
|
||||||
// Store last item data so it can be queried with IsItemXXX functions after the user Begin() call
|
// Store last item data so it can be queried with IsItemXXX functions after the user Begin() call
|
||||||
window->DockTabItemStatusFlags = g.LastItemData.StatusFlags;
|
window->DC.DockTabItemStatusFlags = g.LastItemData.StatusFlags;
|
||||||
window->DockTabItemRect = g.LastItemData.Rect;
|
window->DC.DockTabItemRect = g.LastItemData.Rect;
|
||||||
|
|
||||||
// Update navigation ID on menu layer
|
// Update navigation ID on menu layer
|
||||||
if (g.NavWindow && g.NavWindow->RootWindow == window && (window->DC.NavLayersActiveMask & (1 << ImGuiNavLayer_Menu)) == 0)
|
if (g.NavWindow && g.NavWindow->RootWindow == window && (window->DC.NavLayersActiveMask & (1 << ImGuiNavLayer_Menu)) == 0)
|
||||||
|
@ -2668,8 +2668,12 @@ struct IMGUI_API ImGuiWindowTempData
|
|||||||
ImGuiLayoutType LayoutType;
|
ImGuiLayoutType LayoutType;
|
||||||
ImGuiLayoutType ParentLayoutType; // Layout type of parent window at the time of Begin()
|
ImGuiLayoutType ParentLayoutType; // Layout type of parent window at the time of Begin()
|
||||||
ImU32 ModalDimBgColor;
|
ImU32 ModalDimBgColor;
|
||||||
|
|
||||||
|
// Status flags
|
||||||
ImGuiItemStatusFlags WindowItemStatusFlags;
|
ImGuiItemStatusFlags WindowItemStatusFlags;
|
||||||
ImGuiItemStatusFlags ChildItemStatusFlags;
|
ImGuiItemStatusFlags ChildItemStatusFlags;
|
||||||
|
ImGuiItemStatusFlags DockTabItemStatusFlags;
|
||||||
|
ImRect DockTabItemRect;
|
||||||
|
|
||||||
// Local parameters stacks
|
// Local parameters stacks
|
||||||
// We store the current settings outside of the vectors to increase memory locality (reduce cache misses). The vectors are rarely modified. Also it allows us to not heap allocate for short-lived windows which are not using those settings.
|
// We store the current settings outside of the vectors to increase memory locality (reduce cache misses). The vectors are rarely modified. Also it allows us to not heap allocate for short-lived windows which are not using those settings.
|
||||||
@ -2809,8 +2813,6 @@ struct IMGUI_API ImGuiWindow
|
|||||||
ImGuiDockNode* DockNode; // Which node are we docked into. Important: Prefer testing DockIsActive in many cases as this will still be set when the dock node is hidden.
|
ImGuiDockNode* DockNode; // Which node are we docked into. Important: Prefer testing DockIsActive in many cases as this will still be set when the dock node is hidden.
|
||||||
ImGuiDockNode* DockNodeAsHost; // Which node are we owning (for parent windows)
|
ImGuiDockNode* DockNodeAsHost; // Which node are we owning (for parent windows)
|
||||||
ImGuiID DockId; // Backup of last valid DockNode->ID, so single window remember their dock node id even when they are not bound any more
|
ImGuiID DockId; // Backup of last valid DockNode->ID, so single window remember their dock node id even when they are not bound any more
|
||||||
ImGuiItemStatusFlags DockTabItemStatusFlags;
|
|
||||||
ImRect DockTabItemRect;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ImGuiWindow(ImGuiContext* context, const char* name);
|
ImGuiWindow(ImGuiContext* context, const char* name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user