浏览代码

Demo: Font selector allow selecting fonts with same debug name. (#2332)

omar 6 年之前
父节点
当前提交
00c637961b
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      imgui_demo.cpp

+ 7 - 2
imgui_demo.cpp

@@ -2738,8 +2738,13 @@ void ImGui::ShowFontSelector(const char* label)
     if (ImGui::BeginCombo(label, font_current->GetDebugName()))
     {
         for (int n = 0; n < io.Fonts->Fonts.Size; n++)
-            if (ImGui::Selectable(io.Fonts->Fonts[n]->GetDebugName(), io.Fonts->Fonts[n] == font_current))
-                io.FontDefault = io.Fonts->Fonts[n];
+        {
+            ImFont* font = io.Fonts->Fonts[n];
+            ImGui::PushID((void*)font);
+            if (ImGui::Selectable(font->GetDebugName(), font == font_current))
+                io.FontDefault = font;
+            ImGui::PopID();
+        }
         ImGui::EndCombo();
     }
     ImGui::SameLine();