mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Docking: docked windows honor ImGuiCol_WindowBg. Host window in charge of rendering seams. (#2700, #2539 + Docked windows honor display their border properly. (#2522)
Plus: better support for transparent one in nodes Side effects: DockContextBindNodeToWindow doesn't alter node->IsVisible. Side effects: ImDrawList:: _ResetForNewFrame() needs to merge, sane (in case of (Amended, force-pushed)
This commit is contained in:
		@@ -1432,6 +1432,7 @@ struct IMGUI_API ImGuiDockNode
 | 
			
		||||
    ImVec2                  SizeRef;                    // [Split node only] Last explicitly written-to size (overridden when using a splitter affecting the node), used to calculate Size.
 | 
			
		||||
    ImGuiAxis               SplitAxis;                  // [Split node only] Split axis (X or Y)
 | 
			
		||||
    ImGuiWindowClass        WindowClass;                // [Root node only]
 | 
			
		||||
    ImU32                   LastBgColor;
 | 
			
		||||
 | 
			
		||||
    ImGuiWindow*            HostWindow;
 | 
			
		||||
    ImGuiWindow*            VisibleWindow;              // Generally point to window which is ID is == SelectedTabID, but when CTRL+Tabbing this can be a different window.
 | 
			
		||||
@@ -1449,6 +1450,7 @@ struct IMGUI_API ImGuiDockNode
 | 
			
		||||
    ImGuiDataAuthority      AuthorityForViewport    :3;
 | 
			
		||||
    bool                    IsVisible               :1; // Set to false when the node is hidden (usually disabled as it has no active window)
 | 
			
		||||
    bool                    IsFocused               :1;
 | 
			
		||||
    bool                    IsBgDrawnThisFrame      :1;
 | 
			
		||||
    bool                    HasCloseButton          :1; // Provide space for a close button (if any of the docked window has one). Note that button may be hidden on window without one.
 | 
			
		||||
    bool                    HasWindowMenuButton     :1;
 | 
			
		||||
    bool                    HasCentralNodeChild     :1;
 | 
			
		||||
@@ -2828,6 +2830,7 @@ namespace ImGui
 | 
			
		||||
    IMGUI_API void          DockContextRebuildNodes(ImGuiContext* ctx);
 | 
			
		||||
    IMGUI_API void          DockContextNewFrameUpdateUndocking(ImGuiContext* ctx);
 | 
			
		||||
    IMGUI_API void          DockContextNewFrameUpdateDocking(ImGuiContext* ctx);
 | 
			
		||||
    IMGUI_API void          DockContextEndFrame(ImGuiContext* ctx);
 | 
			
		||||
    IMGUI_API ImGuiID       DockContextGenNodeID(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          DockContextQueueUndockWindow(ImGuiContext* ctx, ImGuiWindow* window);
 | 
			
		||||
@@ -3005,7 +3008,7 @@ namespace ImGui
 | 
			
		||||
    IMGUI_API bool          ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool* out_held, ImGuiButtonFlags flags = 0);
 | 
			
		||||
    IMGUI_API bool          DragBehavior(ImGuiID id, ImGuiDataType data_type, void* p_v, float v_speed, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags);
 | 
			
		||||
    IMGUI_API bool          SliderBehavior(const ImRect& bb, ImGuiID id, ImGuiDataType data_type, void* p_v, const void* p_min, const void* p_max, const char* format, ImGuiSliderFlags flags, ImRect* out_grab_bb);
 | 
			
		||||
    IMGUI_API bool          SplitterBehavior(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend = 0.0f, float hover_visibility_delay = 0.0f);
 | 
			
		||||
    IMGUI_API bool          SplitterBehavior(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend = 0.0f, float hover_visibility_delay = 0.0f, ImU32 bg_col = 0);
 | 
			
		||||
    IMGUI_API bool          TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* label, const char* label_end = NULL);
 | 
			
		||||
    IMGUI_API bool          TreeNodeBehaviorIsOpen(ImGuiID id, ImGuiTreeNodeFlags flags = 0);                     // Consume previous SetNextItemOpen() data, if any. May return true when logging
 | 
			
		||||
    IMGUI_API void          TreePushOverrideID(ImGuiID id);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user