Browse Source

Demo: Add a "Fonts" section for visibility.

ocornut 5 months ago
parent
commit
0b71339122
2 changed files with 11 additions and 9 deletions
  1. 10 6
      imgui.cpp
  2. 1 3
      imgui_demo.cpp

+ 10 - 6
imgui.cpp

@@ -15640,6 +15640,11 @@ void ImGui::ShowFontAtlas(ImFontAtlas* atlas)
 {
     ImGuiContext& g = *GImGui;
 
+    SeparatorText("Backend Support for Dynamic Fonts");
+    BeginDisabled();
+    CheckboxFlags("io.BackendFlags: RendererHasTextures", &GetIO().BackendFlags, ImGuiBackendFlags_RendererHasTextures);
+    EndDisabled();
+
     SeparatorText("Fonts");
     Text("Read ");
     SameLine(0, 0);
@@ -16548,12 +16553,11 @@ void ImGui::DebugNodeFont(ImFont* font)
     }
     if (SmallButton("Set as default"))
         GetIO().FontDefault = font;
-    if (atlas->Fonts.Size > 1 && !atlas->Locked)
-    {
-        SameLine();
-        if (SmallButton("Remove"))
-            atlas->RemoveFont(font);
-    }
+    SameLine();
+    BeginDisabled(atlas->Fonts.Size <= 1 || atlas->Locked);
+    if (SmallButton("Remove"))
+        atlas->RemoveFont(font);
+    EndDisabled();
 
     // Display details
     SetNextItemWidth(GetFontSize() * 8);

+ 1 - 3
imgui_demo.cpp

@@ -1745,6 +1745,7 @@ static void DemoWindowWidgetsFonts()
     {
         ImFontAtlas* atlas = ImGui::GetIO().Fonts;
         ImGui::ShowFontAtlas(atlas);
+        // FIXME-NEWATLAS: Provide a demo to add/create a procedural font?
         ImGui::TreePop();
     }
 }
@@ -8171,9 +8172,6 @@ void ImGui::ShowAboutWindow(bool* p_open)
 // - ShowStyleEditor()
 //-----------------------------------------------------------------------------
 
-// Forward declare ShowFontAtlas() which isn't worth putting in public API yet
-namespace ImGui { IMGUI_API void ShowFontAtlas(ImFontAtlas* atlas); }
-
 // Demo helper function to select among loaded fonts.
 // Here we use the regular BeginCombo()/EndCombo() api which is the more flexible one.
 void ImGui::ShowFontSelector(const char* label)