mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-11-04 01:34:32 +00:00 
			
		
		
		
	Nav: moved RenderNavHighlight() calls of TreeNode and Selectable out of if (hovered || selected) tests. Should make no difference as NavId currently returns hovered. (#1861, #4242)
This commit is contained in:
		@@ -1115,7 +1115,7 @@ static void ShowDemoWindowWidgets()
 | 
				
			|||||||
            static bool selection[5] = { false, true, false, false, false };
 | 
					            static bool selection[5] = { false, true, false, false, false };
 | 
				
			||||||
            ImGui::Selectable("1. I am selectable", &selection[0]);
 | 
					            ImGui::Selectable("1. I am selectable", &selection[0]);
 | 
				
			||||||
            ImGui::Selectable("2. I am selectable", &selection[1]);
 | 
					            ImGui::Selectable("2. I am selectable", &selection[1]);
 | 
				
			||||||
            ImGui::Text("3. I am not selectable");
 | 
					            ImGui::Text("(I am not selectable)");
 | 
				
			||||||
            ImGui::Selectable("4. I am selectable", &selection[3]);
 | 
					            ImGui::Selectable("4. I am selectable", &selection[3]);
 | 
				
			||||||
            if (ImGui::Selectable("5. I am double clickable", selection[4], ImGuiSelectableFlags_AllowDoubleClick))
 | 
					            if (ImGui::Selectable("5. I am double clickable", selection[4], ImGuiSelectableFlags_AllowDoubleClick))
 | 
				
			||||||
                if (ImGui::IsMouseDoubleClicked(0))
 | 
					                if (ImGui::IsMouseDoubleClicked(0))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2921,7 +2921,6 @@ void ImGui::TableHeader(const char* label)
 | 
				
			|||||||
        const ImU32 col = GetColorU32(held ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
 | 
					        const ImU32 col = GetColorU32(held ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
 | 
				
			||||||
        //RenderFrame(bb.Min, bb.Max, col, false, 0.0f);
 | 
					        //RenderFrame(bb.Min, bb.Max, col, false, 0.0f);
 | 
				
			||||||
        TableSetBgColor(ImGuiTableBgTarget_CellBg, col, table->CurrentColumn);
 | 
					        TableSetBgColor(ImGuiTableBgTarget_CellBg, col, table->CurrentColumn);
 | 
				
			||||||
        RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_TypeThin | ImGuiNavHighlightFlags_NoRounding);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -2929,6 +2928,7 @@ void ImGui::TableHeader(const char* label)
 | 
				
			|||||||
        if ((table->RowFlags & ImGuiTableRowFlags_Headers) == 0)
 | 
					        if ((table->RowFlags & ImGuiTableRowFlags_Headers) == 0)
 | 
				
			||||||
            TableSetBgColor(ImGuiTableBgTarget_CellBg, GetColorU32(ImGuiCol_TableHeaderBg), table->CurrentColumn);
 | 
					            TableSetBgColor(ImGuiTableBgTarget_CellBg, GetColorU32(ImGuiCol_TableHeaderBg), table->CurrentColumn);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_TypeThin | ImGuiNavHighlightFlags_NoRounding);
 | 
				
			||||||
    if (held)
 | 
					    if (held)
 | 
				
			||||||
        table->HeldHeaderColumn = (ImGuiTableColumnIdx)column_n;
 | 
					        table->HeldHeaderColumn = (ImGuiTableColumnIdx)column_n;
 | 
				
			||||||
    window->DC.CursorPos.y -= g.Style.ItemSpacing.y * 0.5f;
 | 
					    window->DC.CursorPos.y -= g.Style.ItemSpacing.y * 0.5f;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5943,8 +5943,8 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
 | 
					            const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
 | 
				
			||||||
            RenderFrame(frame_bb.Min, frame_bb.Max, bg_col, false);
 | 
					            RenderFrame(frame_bb.Min, frame_bb.Max, bg_col, false);
 | 
				
			||||||
            RenderNavHighlight(frame_bb, id, nav_highlight_flags);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        RenderNavHighlight(frame_bb, id, nav_highlight_flags);
 | 
				
			||||||
        if (flags & ImGuiTreeNodeFlags_Bullet)
 | 
					        if (flags & ImGuiTreeNodeFlags_Bullet)
 | 
				
			||||||
            RenderBullet(window->DrawList, ImVec2(text_pos.x - text_offset_x * 0.5f, text_pos.y + g.FontSize * 0.5f), text_col);
 | 
					            RenderBullet(window->DrawList, ImVec2(text_pos.x - text_offset_x * 0.5f, text_pos.y + g.FontSize * 0.5f), text_col);
 | 
				
			||||||
        else if (!is_leaf)
 | 
					        else if (!is_leaf)
 | 
				
			||||||
@@ -6207,8 +6207,8 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
 | 
					        const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
 | 
				
			||||||
        RenderFrame(bb.Min, bb.Max, col, false, 0.0f);
 | 
					        RenderFrame(bb.Min, bb.Max, col, false, 0.0f);
 | 
				
			||||||
        RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_TypeThin | ImGuiNavHighlightFlags_NoRounding);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_TypeThin | ImGuiNavHighlightFlags_NoRounding);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (span_all_columns && window->DC.CurrentColumns)
 | 
					    if (span_all_columns && window->DC.CurrentColumns)
 | 
				
			||||||
        PopColumnsBackground();
 | 
					        PopColumnsBackground();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user