Browse Source

Fixed Bullet() fixed tesselation amount which looked out of place in very large sizes.

ocornut 2 weeks ago
parent
commit
e728b96600
2 changed files with 5 additions and 3 deletions
  1. 2 1
      docs/CHANGELOG.txt
  2. 3 2
      imgui_draw.cpp

+ 2 - 1
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]
 
 
 -----------------------------------------------------------------------

+ 3 - 2
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)