mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-30 20:51:06 +01:00 
			
		
		
		
	Docking: Added internal DockBuilderGetCentralNode(). Fixed being unable to undock whole node from dock button in DockSpace with a central node. (#2109)
This commit is contained in:
		| @@ -769,7 +769,8 @@ struct ImGuiDockNode | ||||
|  | ||||
|     ImGuiWindow*            HostWindow; | ||||
|     ImGuiWindow*            VisibleWindow; | ||||
|     ImGuiDockNode*          OnlyNodeWithWindows;        // [Root node only] Set when there is a single visible node within the hierarchy | ||||
|     ImGuiDockNode*          CentralNode;                // [Root node only] Pointer to central node. | ||||
|     ImGuiDockNode*          OnlyNodeWithWindows;        // [Root node only] Set when there is a single visible node within the hierarchy. | ||||
|     int                     LastFrameAlive;             // Last frame number the node was updated or kept alive explicitly with DockSpace() + ImGuiDockNodeFlags_KeepAliveOnly | ||||
|     int                     LastFrameActive;            // Last frame number the node was updated. | ||||
|     ImGuiID                 LastFocusedNodeID;          // [Root node only] Which of our child node (any ancestor in the hierarchy) was last focused. | ||||
| @@ -1505,6 +1506,7 @@ namespace ImGui | ||||
|     // Docking - Builder function needs to be generally called before the DockSpace() node is submitted. | ||||
|     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. | ||||
|     inline ImGuiDockNode*   DockBuilderGetCentralNode(ImGuiID node_id)              { ImGuiDockNode* node = DockBuilderGetNode(node_id); if (!node) return NULL; return DockNodeGetRootNode(node)->CentralNode; } | ||||
|     IMGUI_API void          DockBuilderAddNode(ImGuiID node_id, ImVec2 ref_size, ImGuiDockNodeFlags flags = 0); | ||||
|     IMGUI_API void          DockBuilderRemoveNode(ImGuiID node_id);                 // Remove node and all its child, undock all windows | ||||
|     IMGUI_API void          DockBuilderRemoveNodeDockedWindows(ImGuiID node_id, bool clear_persistent_docking_references = true); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user