mirror of
https://github.com/ocornut/imgui.git
synced 2025-04-06 22:15:07 +00:00
WIP - Added a bit of user facing tooling.
This commit is contained in:
parent
c264fa7410
commit
d95c96e20e
2 changed files with 31 additions and 1 deletions
29
imgui.cpp
29
imgui.cpp
|
@ -21202,6 +21202,13 @@ namespace ImGuiFreeType { IMGUI_API const ImFontLoader* GetFontLoader(); }
|
|||
// [DEBUG] List fonts in a font atlas and display its texture
|
||||
void ImGui::ShowFontAtlas(ImFontAtlas* atlas)
|
||||
{
|
||||
SeparatorText("Fonts");
|
||||
Text("Read the FAQ at ");
|
||||
SameLine(0, 0);
|
||||
TextLinkOpenURL("https://www.dearimgui.com/faq/");
|
||||
SameLine(0, 0);
|
||||
Text(" for details on font loading.");
|
||||
|
||||
// Font loaders
|
||||
if (TreeNode("Loader", "Loader: \'%s\'", atlas->FontLoaderName ? atlas->FontLoaderName : "NULL"))
|
||||
{
|
||||
|
@ -21240,6 +21247,28 @@ void ImGui::ShowFontAtlas(ImFontAtlas* atlas)
|
|||
PopID();
|
||||
}
|
||||
|
||||
SeparatorText("Font Atlas");
|
||||
if (Button("Clear Cache"))
|
||||
atlas->ClearCache();
|
||||
SameLine();
|
||||
if (Button("Grow"))
|
||||
ImFontAtlasBuildGrowTexture(atlas);
|
||||
SameLine();
|
||||
if (Button("Compact"))
|
||||
ImFontAtlasBuildCompactTexture(atlas);
|
||||
|
||||
for (int tex_n = 0; tex_n < atlas->TexList.Size; tex_n++)
|
||||
{
|
||||
ImTextureData* tex = atlas->TexList[tex_n];
|
||||
if (tex_n > 0)
|
||||
SameLine();
|
||||
Text("Tex: %dx%d", tex->Width, tex->Height);
|
||||
}
|
||||
const int packed_surface_sqrt = (int)sqrtf((float)atlas->Builder->RectsPackedSurface);
|
||||
const int discarded_surface_sqrt = (int)sqrtf((float)atlas->Builder->RectsDiscardedSurface);
|
||||
Text("Packed rects: %d, area: about %d px ~%dx%d px", atlas->Builder->RectsPackedCount, atlas->Builder->RectsPackedSurface, packed_surface_sqrt, packed_surface_sqrt);
|
||||
Text("incl. Discarded rects: %d, area: about %d px ~%dx%d px", atlas->Builder->RectsDiscardedCount, atlas->Builder->RectsDiscardedSurface, discarded_surface_sqrt, discarded_surface_sqrt);
|
||||
|
||||
// Texture list
|
||||
for (ImTextureData* tex : atlas->TexList)
|
||||
{
|
||||
|
|
|
@ -8440,11 +8440,12 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|||
{
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
ImFontAtlas* atlas = io.Fonts;
|
||||
HelpMarker("Read FAQ and docs/FONTS.md for details on font loading.");
|
||||
|
||||
ImGui::ShowFontAtlas(atlas);
|
||||
|
||||
// Post-baking font scaling. Note that this is NOT the nice way of scaling fonts, read below.
|
||||
// (we enforce hard clamping manually as by default DragFloat/SliderFloat allows CTRL+Click text to get out of bounds).
|
||||
ImGui::SeparatorText("Legacy Scaling");
|
||||
const float MIN_SCALE = 0.3f;
|
||||
const float MAX_SCALE = 2.0f;
|
||||
HelpMarker(
|
||||
|
|
Loading…
Add table
Reference in a new issue