Commit Graph

9046 Commits

Author SHA1 Message Date
ocornut
d72e66cdee Examples: remove comments/references about baking and GetGlyphRangesJapanese(). 2025-06-11 16:11:03 +02:00
ocornut
2d2b1cee6b Fonts: internals: renamed g.FontSizeBeforeScaling to g.FontSizeBase for consistency.
# Conflicts:
#	imgui_internal.h
2025-06-11 16:10:45 +02:00
ocornut
3c27c643a9 Fonts: internals: renamed g.FontScale to g.FontBakedScale for clarity. Comments. 2025-06-11 16:10:18 +02:00
ocornut
d85e22d205 Added style.FontScaleDpi which is the field overwritten by ImGuiConfigFlags_DpiEnableScaleFonts.
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
2025-06-11 16:09:56 +02:00
ocornut
8766efcba6 (Breaking) Renamed io.FontGlobalScale to style.FontScaleMain.
# Conflicts:
#	imgui.cpp
2025-06-11 16:07:21 +02:00
ocornut
80c08f2286 (Breaking) Fonts: obsoleting SetWindowFontScale().
+ Comments

# Conflicts:
#	imgui.cpp
2025-06-11 16:07:05 +02:00
ocornut
59a11363a5 Fonts: ground work for allowing SizePixels to be optional. 2025-06-11 16:06:24 +02:00
ocornut
402db2ef32 Fonts: fixed passing negative sizes to stb_truetype loader. 2025-06-11 16:06:24 +02:00
ocornut
1e118ab891 Fonts: added ImGuiStyle::FontSizeBase. Ensuring PushFontSize() works before main loop and across NewFrame().
# Conflicts:
#	imgui.cpp
2025-06-11 16:06:21 +02:00
ocornut
b029be6b6c Fonts: avoid calling GetFontBaked() during SetFontSize(). Also fixes loading extraneous baked on atlas that will be locked
e.g. PushFontSize() before NewFrame() on legacy backend.
2025-06-11 16:06:00 +02:00
ocornut
033cdc4133 Fonts: comments and slight packing of ImFontConfig fields. 2025-06-11 16:06:00 +02:00
ocornut
69547bd4bd Fonts: ImFont::DefaultSize -> ImFont::LegacySize. ImFontFlags_UseDefaultSize -> ImFontFlags_DefaultToLegacySize. 2025-06-11 16:06:00 +02:00
ocornut
e3860aa6ac (Breaking) Fonts: removing obsolete ImFont::Scale. 2025-06-11 16:05:54 +02:00
ocornut
25f9c318e3 Fonts: added "Input Glyphs Overlap Detection Tool". Added "Clear bakes", "Clear unused" buttons. Move code. 2025-06-11 16:05:54 +02:00
ocornut
5926c877a1 Fonts: detect if ImFontAtlasUpdateNewFrame() is not being called. 2025-06-11 16:05:54 +02:00
ocornut
9f8b4bdaf1 Fonts: fixed edge case calling RenderText() without priming with CalcTextSize(). 2025-06-11 16:05:49 +02:00
ocornut
b2343d6247 Fonts: fallback to default default rasterizer density + pick one from existing viewports at the time of calling AddUpdateViewport().
# Conflicts:
#	imgui.cpp
2025-06-11 16:05:33 +02:00
ocornut
83aad81279 Fonts: comments + made IMGUI_DEBUG_LOG_FONT() work without an ImGui context. 2025-06-11 16:02:10 +02:00
ocornut
f3780c7354 Fonts: adding GetFontBaked() in public API. 2025-06-11 16:02:10 +02:00
ocornut
92ff153763 Fonts: added notes/comments and dummy type about renaming ImFontBuilderIO::GetBuilderForFreeType() to ImFontLoader::GetFontLoader(). 2025-06-11 16:02:10 +02:00
ocornut
3d848a886a Fonts: fixed support for IMGUI_STB_NAMESPACE. 2025-06-11 16:02:10 +02:00
ocornut
822903e56d Fonts: fixed ImFontAtlas::RemoveFont() with multiple sources.
Thanks cyfewlp!
2025-06-11 16:02:10 +02:00
ocornut
5ee9845559 Fonts: automatically set current rasterizer density to viewport density. Effectively should fix most things on macOS.
# Conflicts:
#	imgui.cpp
#	imgui.h
2025-06-11 16:02:09 +02:00
ocornut
ea756ede16 Fonts: reorder ImFontFlags according likelihood of being useful. 2025-06-11 15:59:20 +02:00
ocornut
1b51a88bba Fonts: moved compare operators to internal. Removed commented out ones aimed legacy backends: not needed anymore since we didn't rename ImTextureID. 2025-06-11 15:59:20 +02:00
ocornut
39f6c793b3 Fonts: proof of concept support for user textures.
# Conflicts:
#	imgui.h
#	imgui_internal.h
2025-06-11 15:59:19 +02:00
ocornut
91ed6e67b4 Fonts: fixed support for multiple atlases.
Moved FontAtlasOwnedByContext to OwnerContext

# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2025-06-11 15:58:29 +02:00
ocornut
fad5280d4c Fonts: fixed broken support for legacy backend due to a mismatch with initial pre-build baked id. 2025-06-11 15:57:44 +02:00
ocornut
65e6039979 Fonts: remove unnecessary ImDrawListSharedData::FontAtlas which is actually getting in the way of using multiple atlases. 2025-06-11 15:57:44 +02:00
ocornut
46fa9e8efb Fonts: Debug display status. Fixed truncated raw texture id. Fixed FormatTextureIDForDebugDisplay(). Comments. 2025-06-11 15:57:35 +02:00
ocornut
f6735c223c Fonts: remove ImFontHooks in favor of a AddRemapChar() implementation. 2025-06-11 15:57:35 +02:00
ocornut
89e880dfd1 Fonts: adding ImFontHooks for codepoint remapping. 2025-06-11 15:57:35 +02:00
ocornut
8523cbdf58 Fonts: rework ImFontLoader::FontBakedLoadGlyph() interface 2025-06-11 15:57:35 +02:00
ocornut
4dec946ae6 Fonts: don't pretend to half recover from OOM for now + debug log filename on load failure. 2025-06-11 15:57:35 +02:00
ocornut
b32ef3c05d Fonts: make RasterizerDensity a dynamic field. (temporarily exposed as SetFontRasterizerDensity()).
# Conflicts:
#	imgui.cpp
#	imgui.h
2025-06-11 15:57:35 +02:00
ocornut
8140a9d8a6 Fonts: comments on ImTextureData fields. 2025-06-11 15:57:35 +02:00
ocornut
42e7bb80b6 imgui_freetype: removed anonymous namespace + extracting two functions outside of ImGui_ImplFreeType_FontSrcData. 2025-06-11 15:57:28 +02:00
ocornut
6a455e1281 imgui_freetype: moving data out of ImGui_ImplFreeType_FontSrcData.
The reasoning behind that we would ideally transition ImGui_ImplFreeType_FontSrcData to be shared between fonts using same source.
2025-06-11 15:57:28 +02:00
ocornut
5310f5fba3 Fonts: rework toward reducing reliance on ImFontConfig::DstFont since we ought to separate them. 2025-06-11 15:57:23 +02:00
ocornut
2b0d49a905 Fonts: make ImFont::Sources a vector.
Later it should become a ImSpan<>
2025-06-11 15:57:23 +02:00
ocornut
e7efe94fd2 Fonts: shallow rework of ImFontAtlasBakedAddFontGlyph() to facilitate upcoming change. 2025-06-11 15:57:23 +02:00
ocornut
890fff92fd Fonts: rename many internal functions for consistency. No other changes. 2025-06-11 15:57:23 +02:00
ocornut
c4fa9bb61f Fonts: add ImFontGlyph::SourceIdx. Extract code out of DebugNodeFont() into DebugNodeFontGlyphesForSrcMask().
(src_mask unused in this commit)
2025-06-11 15:57:23 +02:00
ocornut
bcd1a94b89 Fonts: Extract ImFontAtlasBuildGetFontBaked() out of ImFont::GetFontBaked() mostly for consistency with upcoming changes + tweak locals in AddFont(). 2025-06-11 15:57:23 +02:00
ocornut
7840e453b5 Fonts: ImFontAtlasBuildInit() is always called with atlas->Builder == NULL. 2025-06-11 15:57:23 +02:00
ocornut
eb650c468a Fonts: fixed unused variable warning. 2025-06-11 15:57:00 +02:00
ocornut
c43b138a69 Fonts: no need to load current baked on SkipItems window? + removed unused field.
Avoid baked staying active after GC. Might cause issues.

# Conflicts:
#	imgui.cpp
2025-06-11 15:56:59 +02:00
ocornut
cdfa537adf Fonts: packing of shared basic/line/cursor data uses more public API. 2025-06-11 15:56:39 +02:00
ocornut
ed2bb2cff0 Fonts: encode additional data in ImFontAtlasRectId to detect invalid id + added Rects debug browser. 2025-06-11 15:56:39 +02:00
ocornut
0436fba13c Fonts: fixed compaction gc-ing baked fonts used in the current frame + rename. 2025-06-11 15:56:39 +02:00