From e728b966003104c7fc21a007237bca10abf39b19 Mon Sep 17 00:00:00 2001 From: ocornut Date: Wed, 20 Aug 2025 20:22:31 +0200 Subject: [PATCH] Fixed Bullet() fixed tesselation amount which looked out of place in very large sizes. --- docs/CHANGELOG.txt | 3 ++- imgui_draw.cpp | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index 073a37b6b..e053076f8 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -45,12 +45,13 @@ Other Changes: - Scrollbar, Style: added configurable style.ScrollbarPadding value and corresponding ImGuiStyleVar_ScrollbarPadding enum, instead of hardcoded computed default. (#8895) +- Fixed Bullet() fixed tesselation amount which looked out of place in very large sizes. - DrawList: Fixed CloneOutput() unnecessarily taking a copy of the ImDrawListSharedData pointer, which could to issue when deleting the cloned list. (#8894, #1860) - Examples: Android: Android+OpenGL3: update Gradle project (#8888, #8878) [@scribam] - Backends: SDL_GPU: Added ImGui_ImplSDLGPU3_InitInfo::SwapchainComposition and PresentMode to configure how secondary viewports are created. Currently only used - in multi-viewport mode. (#8892) + multi-viewport mode. (#8892) [@PTSVU] ----------------------------------------------------------------------- diff --git a/imgui_draw.cpp b/imgui_draw.cpp index 3ef76efec..31beb4133 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -5835,8 +5835,9 @@ void ImGui::RenderArrow(ImDrawList* draw_list, ImVec2 pos, ImU32 col, ImGuiDir d void ImGui::RenderBullet(ImDrawList* draw_list, ImVec2 pos, ImU32 col) { - // FIXME-OPT: This should be baked in font. - draw_list->AddCircleFilled(pos, draw_list->_Data->FontSize * 0.20f, col, 8); + // FIXME-OPT: This should be baked in font now that it's easier. + float font_size = draw_list->_Data->FontSize; + draw_list->AddCircleFilled(pos, font_size * 0.20f, col, (font_size < 22) ? 8 : (font_size < 40) ? 12 : 0); // Hardcode optimal/nice tessellation threshold } void ImGui::RenderCheckMark(ImDrawList* draw_list, ImVec2 pos, ImU32 col, float sz)