mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Double-click on resize grip doesn't need to test HoveredWindow (as button has the flattenchild flag anyway) + double-click on title bar verify that we don't have overlapping items to allow contents in title bar. + Comments
This commit is contained in:
		@@ -5905,7 +5905,7 @@ static void ImGui::UpdateManualResize(ImGuiWindow* window, const ImVec2& size_au
 | 
			
		||||
        if (hovered || held)
 | 
			
		||||
            g.MouseCursor = (resize_grip_n & 1) ? ImGuiMouseCursor_ResizeNESW : ImGuiMouseCursor_ResizeNWSE;
 | 
			
		||||
 | 
			
		||||
        if (g.HoveredWindow == window && held && g.IO.MouseDoubleClicked[0] && resize_grip_n == 0)
 | 
			
		||||
        if (held && g.IO.MouseDoubleClicked[0] && resize_grip_n == 0)
 | 
			
		||||
        {
 | 
			
		||||
            // Manual auto-fit when double-clicking
 | 
			
		||||
            size_target = CalcSizeAfterConstraint(window, size_auto_fit);
 | 
			
		||||
@@ -6159,8 +6159,11 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
 | 
			
		||||
        // At this point we don't have a clipping rectangle setup yet, so we can use the title bar area for hit detection and drawing
 | 
			
		||||
        if (!(flags & ImGuiWindowFlags_NoTitleBar) && !(flags & ImGuiWindowFlags_NoCollapse))
 | 
			
		||||
        {
 | 
			
		||||
            // We don't use a regular button+id to test for double-click on title bar (mostly due to legacy reason, could be fixed), so verify that we don't have items over the title bar.
 | 
			
		||||
            ImRect title_bar_rect = window->TitleBarRect();
 | 
			
		||||
            if (window->CollapseToggleWanted || (g.HoveredWindow == window && IsMouseHoveringRect(title_bar_rect.Min, title_bar_rect.Max) && g.IO.MouseDoubleClicked[0]))
 | 
			
		||||
            if (g.HoveredWindow == window && g.HoveredId == 0 && g.HoveredIdPreviousFrame == 0 && IsMouseHoveringRect(title_bar_rect.Min, title_bar_rect.Max) && g.IO.MouseDoubleClicked[0])
 | 
			
		||||
                window->CollapseToggleWanted = true;
 | 
			
		||||
            if (window->CollapseToggleWanted)
 | 
			
		||||
            {
 | 
			
		||||
                window->Collapsed = !window->Collapsed;
 | 
			
		||||
                MarkIniSettingsDirty(window);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user