From 4f27792ffeffa2a922cc6e188a19c08506476fe7 Mon Sep 17 00:00:00 2001 From: ocornut Date: Fri, 29 Nov 2024 17:22:33 +0100 Subject: [PATCH] (Breaking) Removed atlas->TexDesiredWidth now unnecessary (github 327) --- docs/FONTS.md | 1 - imgui.h | 1 + imgui_draw.cpp | 5 ++--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/FONTS.md b/docs/FONTS.md index e9fbcbe42..514af0799 100644 --- a/docs/FONTS.md +++ b/docs/FONTS.md @@ -60,7 +60,6 @@ Some solutions: - Reduce glyphs ranges by calculating them from source localization data. You can use the `ImFontGlyphRangesBuilder` for this purpose and rebuilding your atlas between frames when new characters are needed. This will be the biggest win! - Set `io.Fonts.Flags |= ImFontAtlasFlags_NoPowerOfTwoHeight;` to disable rounding the texture height to the next power of two. -- Set `io.Fonts.TexDesiredWidth` to specify a texture width to reduce maximum texture height (see comment in `ImFontAtlas::Build()` function). Future versions of Dear ImGui should solve this problem. diff --git a/imgui.h b/imgui.h index 8161fb4b4..7a57732e6 100644 --- a/imgui.h +++ b/imgui.h @@ -3626,6 +3626,7 @@ struct ImFontAtlas float _PackNodesFactor = 1.0f; // [Obsolete] + //int TexDesiredWidth; // OBSOLETED in 1.91.5 (force texture width before calling Build(). Must be a power-of-two. If have many glyphs your graphics API have texture size restrictions you may want to increase texture width to decrease height) //typedef ImFontAtlasCustomRect CustomRect; // OBSOLETED in 1.72+ //typedef ImFontGlyphRangesBuilder GlyphRangesBuilder; // OBSOLETED in 1.67+ }; diff --git a/imgui_draw.cpp b/imgui_draw.cpp index 089fc0c5d..a15bf0a60 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -3634,9 +3634,8 @@ void ImFontAtlasBuildGrowTexture(ImFontAtlas* atlas, int old_tex_w, int old_tex_ if (old_tex_h == -1) old_tex_h = atlas->TexData->Height; - // FIXME-NEWATLAS-V1: Handle atlas->TexDesiredWidth from user? - // FIXME-NEWATLAS-V1: What to do when reaching limits exposed by backend? - // FIXME-NEWATLAS-V1: does ImFontAtlasFlags_NoPowerOfTwoHeight makes sense now? Allow 'lock' and 'compact' operations? + // FIXME-NEWATLAS-V2: What to do when reaching limits exposed by backend? + // FIXME-NEWATLAS-V2: does ImFontAtlasFlags_NoPowerOfTwoHeight makes sense now? Allow 'lock' and 'compact' operations? IM_ASSERT(ImIsPowerOfTwo(old_tex_w) && ImIsPowerOfTwo(old_tex_h)); // Grow texture so it follows roughly a square.