Selectable, Style: selected Selectable() use _Header color instead of an arbitrary lerp between _Header and _HeaderHovered. (#8106, #1861)
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 194803a..4e987c0 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -43,6 +43,8 @@
Other changes:
+- Selectable: selected Selectables use ImGuiCol_Header instead of an arbitrary lerp
+ between _Header and _HeaderHovered which was introduced v1.91 (#8106, #1861)
- Backends: DX12: Unmap() call specify written range. The range is informational and
may be used by debug tools.
- Backends: SDL2: Replace SDL_Vulkan_GetDrawableSize() forward declaration with the
diff --git a/imgui_demo.cpp b/imgui_demo.cpp
index f24254e..c6c06a5 100644
--- a/imgui_demo.cpp
+++ b/imgui_demo.cpp
@@ -10220,7 +10220,7 @@
// Rendering parameters
const ImU32 icon_type_overlay_colors[3] = { 0, IM_COL32(200, 70, 70, 255), IM_COL32(70, 170, 70, 255) };
- const ImU32 icon_bg_color = ImGui::GetColorU32(ImGuiCol_MenuBarBg);
+ const ImU32 icon_bg_color = ImGui::GetColorU32(IM_COL32(35, 35, 35, 220));
const ImVec2 icon_type_overlay_size = ImVec2(4.0f, 4.0f);
const bool display_label = (LayoutItemSize.x >= ImGui::CalcTextSize("999").x);
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 757eb8a..ee15e99 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -7017,12 +7017,8 @@
const bool highlighted = hovered || (flags & ImGuiSelectableFlags_Highlight);
if (highlighted || selected)
{
- // FIXME-MULTISELECT: Styling: Color for 'selected' elements? ImGuiCol_HeaderSelected
- ImU32 col;
- if (selected && !highlighted)
- col = GetColorU32(ImLerp(GetStyleColorVec4(ImGuiCol_Header), GetStyleColorVec4(ImGuiCol_HeaderHovered), 0.5f));
- else
- col = GetColorU32((held && highlighted) ? ImGuiCol_HeaderActive : highlighted ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
+ // Between 1.91.0 and 1.91.4 we made selected Selectable use an arbitrary lerp between _Header and _HeaderHovered. Removed that now. (#8106)
+ ImU32 col = GetColorU32((held && highlighted) ? ImGuiCol_HeaderActive : highlighted ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
RenderFrame(bb.Min, bb.Max, col, false, 0.0f);
}
if (g.NavId == id)