|
@@ -739,7 +739,7 @@ bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags
|
|
|
|
|
|
// Render
|
|
|
const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button);
|
|
|
- RenderNavHighlight(bb, id);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
RenderFrame(bb.Min, bb.Max, col, true, style.FrameRounding);
|
|
|
|
|
|
if (g.LogEnabled)
|
|
@@ -791,7 +791,7 @@ bool ImGui::InvisibleButton(const char* str_id, const ImVec2& size_arg, ImGuiBut
|
|
|
|
|
|
bool hovered, held;
|
|
|
bool pressed = ButtonBehavior(bb, id, &hovered, &held, flags);
|
|
|
- RenderNavHighlight(bb, id);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
|
|
|
IMGUI_TEST_ENGINE_ITEM_INFO(id, str_id, g.LastItemData.StatusFlags);
|
|
|
return pressed;
|
|
@@ -817,7 +817,7 @@ bool ImGui::ArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size, ImGuiBu
|
|
|
// Render
|
|
|
const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button);
|
|
|
const ImU32 text_col = GetColorU32(ImGuiCol_Text);
|
|
|
- RenderNavHighlight(bb, id);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
RenderFrame(bb.Min, bb.Max, bg_col, true, g.Style.FrameRounding);
|
|
|
RenderArrow(window->DrawList, bb.Min + ImVec2(ImMax(0.0f, (size.x - g.FontSize) * 0.5f), ImMax(0.0f, (size.y - g.FontSize) * 0.5f)), text_col, dir);
|
|
|
|
|
@@ -858,7 +858,7 @@ bool ImGui::CloseButton(ImGuiID id, const ImVec2& pos)
|
|
|
ImU32 bg_col = GetColorU32(held ? ImGuiCol_ButtonActive : ImGuiCol_ButtonHovered);
|
|
|
if (hovered)
|
|
|
window->DrawList->AddRectFilled(bb.Min, bb.Max, bg_col);
|
|
|
- RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_Compact);
|
|
|
+ RenderNavCursor(bb, id, ImGuiNavRenderCursorFlags_Compact);
|
|
|
ImU32 cross_col = GetColorU32(ImGuiCol_Text);
|
|
|
ImVec2 cross_center = bb.GetCenter() - ImVec2(0.5f, 0.5f);
|
|
|
float cross_extent = g.FontSize * 0.5f * 0.7071f - 1.0f;
|
|
@@ -885,7 +885,7 @@ bool ImGui::CollapseButton(ImGuiID id, const ImVec2& pos)
|
|
|
ImU32 text_col = GetColorU32(ImGuiCol_Text);
|
|
|
if (hovered || held)
|
|
|
window->DrawList->AddRectFilled(bb.Min, bb.Max, bg_col);
|
|
|
- RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_Compact);
|
|
|
+ RenderNavCursor(bb, id, ImGuiNavRenderCursorFlags_Compact);
|
|
|
RenderArrow(window->DrawList, bb.Min, text_col, window->Collapsed ? ImGuiDir_Right : ImGuiDir_Down, 1.0f);
|
|
|
|
|
|
// Switch to moving the window after mouse is moved beyond the initial drag threshold
|
|
@@ -1092,7 +1092,7 @@ bool ImGui::ImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2& imag
|
|
|
|
|
|
// Render
|
|
|
const ImU32 col = GetColorU32((held && hovered) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button);
|
|
|
- RenderNavHighlight(bb, id);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
RenderFrame(bb.Min, bb.Max, col, true, ImClamp((float)ImMin(padding.x, padding.y), 0.0f, g.Style.FrameRounding));
|
|
|
if (bg_col.w > 0.0f)
|
|
|
window->DrawList->AddRectFilled(bb.Min + padding, bb.Max - padding, GetColorU32(bg_col));
|
|
@@ -1183,7 +1183,7 @@ bool ImGui::Checkbox(const char* label, bool* v)
|
|
|
const bool mixed_value = (g.LastItemData.ItemFlags & ImGuiItemFlags_MixedValue) != 0;
|
|
|
if (is_visible)
|
|
|
{
|
|
|
- RenderNavHighlight(total_bb, id);
|
|
|
+ RenderNavCursor(total_bb, id);
|
|
|
RenderFrame(check_bb.Min, check_bb.Max, GetColorU32((held && hovered) ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg), true, style.FrameRounding);
|
|
|
ImU32 check_col = GetColorU32(ImGuiCol_CheckMark);
|
|
|
if (mixed_value)
|
|
@@ -1285,7 +1285,7 @@ bool ImGui::RadioButton(const char* label, bool active)
|
|
|
if (pressed)
|
|
|
MarkItemEdited(id);
|
|
|
|
|
|
- RenderNavHighlight(total_bb, id);
|
|
|
+ RenderNavCursor(total_bb, id);
|
|
|
const int num_segment = window->DrawList->_CalcCircleAutoSegmentCount(radius);
|
|
|
window->DrawList->AddCircleFilled(center, radius, GetColorU32((held && hovered) ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg), num_segment);
|
|
|
if (active)
|
|
@@ -1425,7 +1425,7 @@ bool ImGui::TextLink(const char* label)
|
|
|
|
|
|
bool hovered, held;
|
|
|
bool pressed = ButtonBehavior(bb, id, &hovered, &held);
|
|
|
- RenderNavHighlight(bb, id, ImGuiNavHighlightFlags_None);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
|
|
|
if (hovered)
|
|
|
SetMouseCursor(ImGuiMouseCursor_Hand);
|
|
@@ -1856,7 +1856,7 @@ bool ImGui::BeginCombo(const char* label, const char* preview_value, ImGuiComboF
|
|
|
// Render shape
|
|
|
const ImU32 frame_col = GetColorU32(hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg);
|
|
|
const float value_x2 = ImMax(bb.Min.x, bb.Max.x - arrow_size);
|
|
|
- RenderNavHighlight(bb, id);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
if (!(flags & ImGuiComboFlags_NoPreview))
|
|
|
window->DrawList->AddRectFilled(bb.Min, ImVec2(value_x2, bb.Max.y), frame_col, style.FrameRounding, (flags & ImGuiComboFlags_NoArrowButton) ? ImDrawFlags_RoundCornersAll : ImDrawFlags_RoundCornersLeft);
|
|
|
if (!(flags & ImGuiComboFlags_NoArrowButton))
|
|
@@ -2658,7 +2658,7 @@ bool ImGui::DragScalar(const char* label, ImGuiDataType data_type, void* p_data,
|
|
|
|
|
|
// Draw frame
|
|
|
const ImU32 frame_col = GetColorU32(g.ActiveId == id ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg);
|
|
|
- RenderNavHighlight(frame_bb, id);
|
|
|
+ RenderNavCursor(frame_bb, id);
|
|
|
RenderFrame(frame_bb.Min, frame_bb.Max, frame_col, true, style.FrameRounding);
|
|
|
|
|
|
// Drag behavior
|
|
@@ -3240,7 +3240,7 @@ bool ImGui::SliderScalar(const char* label, ImGuiDataType data_type, void* p_dat
|
|
|
|
|
|
// Draw frame
|
|
|
const ImU32 frame_col = GetColorU32(g.ActiveId == id ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg);
|
|
|
- RenderNavHighlight(frame_bb, id);
|
|
|
+ RenderNavCursor(frame_bb, id);
|
|
|
RenderFrame(frame_bb.Min, frame_bb.Max, frame_col, true, g.Style.FrameRounding);
|
|
|
|
|
|
// Slider behavior
|
|
@@ -3389,7 +3389,7 @@ bool ImGui::VSliderScalar(const char* label, const ImVec2& size, ImGuiDataType d
|
|
|
|
|
|
// Draw frame
|
|
|
const ImU32 frame_col = GetColorU32(g.ActiveId == id ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg);
|
|
|
- RenderNavHighlight(frame_bb, id);
|
|
|
+ RenderNavCursor(frame_bb, id);
|
|
|
RenderFrame(frame_bb.Min, frame_bb.Max, frame_col, true, g.Style.FrameRounding);
|
|
|
|
|
|
// Slider behavior
|
|
@@ -5102,7 +5102,7 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_
|
|
|
// Render frame
|
|
|
if (!is_multiline)
|
|
|
{
|
|
|
- RenderNavHighlight(frame_bb, id);
|
|
|
+ RenderNavCursor(frame_bb, id);
|
|
|
RenderFrame(frame_bb.Min, frame_bb.Max, GetColorU32(ImGuiCol_FrameBg), true, style.FrameRounding);
|
|
|
}
|
|
|
|
|
@@ -6113,7 +6113,7 @@ bool ImGui::ColorButton(const char* desc_id, const ImVec4& col, ImGuiColorEditFl
|
|
|
else
|
|
|
window->DrawList->AddRectFilled(bb_inner.Min, bb_inner.Max, GetColorU32(col_source), rounding);
|
|
|
}
|
|
|
- RenderNavHighlight(bb, id);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
if ((flags & ImGuiColorEditFlags_NoBorder) == 0)
|
|
|
{
|
|
|
if (g.Style.FrameBorderSize > 0.0f)
|
|
@@ -6677,15 +6677,15 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l
|
|
|
// Render
|
|
|
{
|
|
|
const ImU32 text_col = GetColorU32(ImGuiCol_Text);
|
|
|
- ImGuiNavHighlightFlags nav_highlight_flags = ImGuiNavHighlightFlags_Compact;
|
|
|
+ ImGuiNavRenderCursorFlags nav_render_cursor_flags = ImGuiNavRenderCursorFlags_Compact;
|
|
|
if (is_multi_select)
|
|
|
- nav_highlight_flags |= ImGuiNavHighlightFlags_AlwaysDraw; // Always show the nav rectangle
|
|
|
+ nav_render_cursor_flags |= ImGuiNavRenderCursorFlags_AlwaysDraw; // Always show the nav rectangle
|
|
|
if (display_frame)
|
|
|
{
|
|
|
// Framed type
|
|
|
const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
|
|
|
RenderFrame(frame_bb.Min, frame_bb.Max, bg_col, true, style.FrameRounding);
|
|
|
- RenderNavHighlight(frame_bb, id, nav_highlight_flags);
|
|
|
+ RenderNavCursor(frame_bb, id, nav_render_cursor_flags);
|
|
|
if (flags & ImGuiTreeNodeFlags_Bullet)
|
|
|
RenderBullet(window->DrawList, ImVec2(text_pos.x - text_offset_x * 0.60f, text_pos.y + g.FontSize * 0.5f), text_col);
|
|
|
else if (!is_leaf)
|
|
@@ -6705,7 +6705,7 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l
|
|
|
const ImU32 bg_col = GetColorU32((held && hovered) ? ImGuiCol_HeaderActive : hovered ? ImGuiCol_HeaderHovered : ImGuiCol_Header);
|
|
|
RenderFrame(frame_bb.Min, frame_bb.Max, bg_col, false);
|
|
|
}
|
|
|
- RenderNavHighlight(frame_bb, id, nav_highlight_flags);
|
|
|
+ RenderNavCursor(frame_bb, id, nav_render_cursor_flags);
|
|
|
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);
|
|
|
else if (!is_leaf)
|
|
@@ -7026,10 +7026,10 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
|
|
|
}
|
|
|
if (g.NavId == id)
|
|
|
{
|
|
|
- ImGuiNavHighlightFlags nav_highlight_flags = ImGuiNavHighlightFlags_Compact | ImGuiNavHighlightFlags_NoRounding;
|
|
|
+ ImGuiNavRenderCursorFlags nav_render_cursor_flags = ImGuiNavRenderCursorFlags_Compact | ImGuiNavRenderCursorFlags_NoRounding;
|
|
|
if (is_multi_select)
|
|
|
- nav_highlight_flags |= ImGuiNavHighlightFlags_AlwaysDraw; // Always show the nav rectangle
|
|
|
- RenderNavHighlight(bb, id, nav_highlight_flags);
|
|
|
+ nav_render_cursor_flags |= ImGuiNavRenderCursorFlags_AlwaysDraw; // Always show the nav rectangle
|
|
|
+ RenderNavCursor(bb, id, nav_render_cursor_flags);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -10109,7 +10109,7 @@ bool ImGui::TabItemEx(ImGuiTabBar* tab_bar, const char* label, bool* p_open,
|
|
|
float y_offset = 1.0f * g.CurrentDpiScale;
|
|
|
display_draw_list->AddLine(bb.GetTL() + ImVec2(x_offset, y_offset), bb.GetTR() + ImVec2(-x_offset, y_offset), GetColorU32(tab_bar_focused ? ImGuiCol_TabSelectedOverline : ImGuiCol_TabDimmedSelectedOverline), style.TabBarOverlineSize);
|
|
|
}
|
|
|
- RenderNavHighlight(bb, id);
|
|
|
+ RenderNavCursor(bb, id);
|
|
|
|
|
|
// Select with right mouse button. This is so the common idiom for context menu automatically highlight the current widget.
|
|
|
const bool hovered_unblocked = IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup);
|