mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +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
	 ocornut
					ocornut