Browse Source

Demo: amend "Font Size" demo. (#8738)

ocornut 2 months ago
parent
commit
0fe5166531
1 changed files with 28 additions and 20 deletions
  1. 28 20
      imgui_demo.cpp

+ 28 - 20
imgui_demo.cpp

@@ -3548,32 +3548,40 @@ static void DemoWindowWidgetsText()
             ImGui::TreePop();
             ImGui::TreePop();
         }
         }
 
 
-        IMGUI_DEMO_MARKER("Widgets/Text/Different Size Text");
-        if (ImGui::TreeNode("Different Size Text"))
+        IMGUI_DEMO_MARKER("Widgets/Text/Font Size");
+        if (ImGui::TreeNode("Font Size"))
         {
         {
-            const ImGuiStyle& style = ImGui::GetStyle();
+            ImGuiStyle& style = ImGui::GetStyle();
+            const float global_scale = style.FontScaleMain * style.FontScaleDpi;
+            ImGui::Text("style.FontScaleMain = %0.2f", style.FontScaleMain);
+            ImGui::Text("style.FontScaleDpi = %0.2f", style.FontScaleDpi);
+            ImGui::Text("global_scale = ~%0.2f", global_scale); // This is not technically accurate as internal scales may apply, but conceptually let's pretend it is.
+            ImGui::Text("FontSize = %0.2f", ImGui::GetFontSize());
+
+            ImGui::SeparatorText("");
+            static float custom_size = 16.0f;
+            ImGui::SliderFloat("custom_size", &custom_size, 10.0f, 100.0f, "%.0f");
+            ImGui::Text("ImGui::PushFont(nullptr, custom_size);");
+            ImGui::PushFont(NULL, custom_size);
+            ImGui::Text("FontSize = %.2f (== %.2f * global_scale)", ImGui::GetFontSize(), custom_size);
+            ImGui::PopFont();
+
+            ImGui::SeparatorText("");
+            static float custom_scale = 1.0f;
+            ImGui::SliderFloat("custom_scale", &custom_scale, 0.5f, 4.0f, "%.2f");
+            ImGui::Text("ImGui::PushFont(nullptr, style.FontSizeBase * custom_scale);");
+            ImGui::PushFont(NULL, style.FontSizeBase * custom_scale);
+            ImGui::Text("FontSize = %.2f (== style.FontSizeBase * %.2f * global_scale)", ImGui::GetFontSize(), custom_scale);
+            ImGui::PopFont();
 
 
-            for (float scaling = 0.5f; scaling < 4.01f; scaling += 0.5f)
+            ImGui::SeparatorText("");
+            for (float scaling = 0.5f; scaling <= 4.0f; scaling += 0.5f)
             {
             {
-                ImGui::PushFont(nullptr, style.FontSizeBase * scaling);
-                ImGui::Text("Text size is %.1f (style.FontSizeBase * %.1f)", style.FontSizeBase * scaling, scaling);
+                ImGui::PushFont(NULL, style.FontSizeBase * scaling);
+                ImGui::Text("FontSize = %.2f (== style.FontSizeBase * %.2f * global_scale)", ImGui::GetFontSize(), scaling);
                 ImGui::PopFont();
                 ImGui::PopFont();
             }
             }
 
 
-            static float custom_scaling{ 1.0f };
-            ImGui::SliderFloat("Custom Scaling##Different Size Text", &custom_scaling, 0.5f, 4.0f, "%.1f");
-            ImGui::SameLine(); HelpMarker("ImGui::PushFont(nullptr, style.FontSizeBase * custom_scaling);");
-            ImGui::PushFont(nullptr, style.FontSizeBase * custom_scaling);
-            ImGui::Text("Text size is %.1f (style.FontSizeBase * %.1f)", style.FontSizeBase * custom_scaling, custom_scaling);
-            ImGui::PopFont();
-
-            static float custom_font_size{ 16.0f };
-            ImGui::SliderFloat("Custom Font Size##Different Size Text", &custom_font_size, 10.0f, 100.0f, "%.1f");
-            ImGui::SameLine(); HelpMarker("ImGui::PushFont(nullptr, custom_font_size);");
-            ImGui::PushFont(nullptr, custom_font_size);
-            ImGui::Text("Text size is %.1f", custom_font_size);
-            ImGui::PopFont();
-
             ImGui::TreePop();
             ImGui::TreePop();
         }
         }