ocornut
e3852d276f
WIP - Removed LockSingleSrcConfigIdx which isn't needed anymore since we don't load glyphs in ImFontAtlasBuildAddFont().
2025-04-09 15:02:23 +02:00
ocornut
eeb8ebc76b
WIP - Fallback glyph is now lazily loaded on demand (yay!). Moving ImFontBaked:: functions outside of class.
2025-04-09 15:02:23 +02:00
ocornut
192b2a3006
WIP - imgui_freetype: no need to store metrics locally.
2025-04-09 15:02:23 +02:00
ocornut
ee32042994
WIP - Rework ImFontLoader signatures.
...
InitBaked may return false to signify this size is not supported.
2025-04-09 15:02:23 +02:00
ocornut
fa003d66a4
WIP - A font source can specify its own loader/backend.
2025-04-09 15:02:23 +02:00
ocornut
a62bad1995
WIP - Core allocates per-baked-per-src backend buffers, to allow having custom backend per font source. Backend BakedInit/Destroy/AddGlyph process a single source.
2025-04-09 15:02:23 +02:00
ocornut
d5e4526fc5
WIP - Reinstated ImFontAtlasBuildSetupFontCreateEllipsisFromDot() compatible with baked system, lazily baked.
2025-04-09 15:02:23 +02:00
ocornut
425d19b405
WIP - Added ImFontAtlasBakedSetFontGlyphBitmap().
2025-04-09 15:02:22 +02:00
ocornut
16fbd20bdd
WIP - Baked system, fix subsequent sources overriding shared font metrics.
2025-04-09 15:02:22 +02:00
ocornut
daca4e2a4f
WIP - ImFontFlags: ImFontFlags_NoLoadGlyphs + add ImFontFlags_LockBakedSizes
2025-04-09 15:02:22 +02:00
ocornut
cdfb2eab71
WIP - Exposed CompactCache(). Hide ClearCache().
2025-04-09 15:02:22 +02:00
ocornut
9261a67fad
WIP - Restore a functional AddCustomRectFontGlyph().
2025-04-09 15:02:22 +02:00
ocornut
2e036b82fe
WIP - ImFontConfig: added GlyphExcludeRanges
2025-04-09 15:02:22 +02:00
ocornut
59369f2cac
WIP - Create a fallback glyph if none is available (fix crash on fonts with no fallback)
2025-04-09 15:02:22 +02:00
ocornut
d16048bde7
WIP - Fixed _OnChangedTextureID() asserting when calling on e.g. finalized drawlists.
2025-04-09 15:02:22 +02:00
ocornut
cd5b9a6b5f
WIP - PushFontSize() with -1 uses sources[0]'s size for now (backward compat design)
2025-04-09 15:02:22 +02:00
ocornut
1eb1458f30
WIP - Allow PushFont/NewFrame/PopFont idioms to function.
2025-04-09 15:02:22 +02:00
ocornut
548c4a807e
WIP - Reordered ImFont fields.
2025-04-09 15:02:22 +02:00
ocornut
d095dc56a6
WIP - Baked system, v12: support GlyphOffset / GlyphMinAdvanceX / GlyphMaxAdvanceX by scaling from ref value.
...
Overwriting cfg->PixelSnapH = true; in imgui_freetype is weird.
2025-04-09 15:02:22 +02:00
ocornut
7aee32baa7
WIP - Baked system, v11.
2025-04-09 15:02:22 +02:00
ocornut
0127af4ca6
WIP - Comments around ImTextureUserID/ImTextureID types.
2025-04-09 15:02:22 +02:00
ocornut
c9f61e8fcd
WIP - Debug dump to disk, debug log
2025-04-09 15:02:21 +02:00
ocornut
3c6da0922b
WIP - Texture resizing favor growing height, halve pack nodes.
2025-04-09 15:02:21 +02:00
ocornut
6b32851f39
WIP - Added PushFontSize(), PopFontSize() api. Added font_size param to PushFont() as well.
2025-04-09 15:02:21 +02:00
ocornut
4068a63322
WIP - Clarify ClearTexData() as not supported with dynamic atlases.
2025-04-09 15:02:21 +02:00
ocornut
9d2c04e663
WIP - Baked system, with auto-bind, v10.
2025-04-09 15:02:21 +02:00
ocornut
8555843df6
(Breaking) CalcWordWrapPositionA() -> CalcWordWrapPosition(), takes size instead of scale as this will be needed.
2025-04-09 15:02:21 +02:00
ocornut
7426774c5a
Internals: added ImStableVector<> helper.
2025-04-09 15:02:21 +02:00
ocornut
0b8f97fc38
WIP - Fixed leak due to indirectly recursing ImFontAtlasPackInit().
2025-04-09 15:02:21 +02:00
ocornut
983fb77dcb
WIP - Stb loader: Reworked scale handling to suggest this is not required caching.
2025-04-09 15:02:21 +02:00
ocornut
eac9c72843
WIP - Reduced reliance on ImFontConfig::DstFont.
2025-04-09 15:02:21 +02:00
ocornut
cc61aacd65
WIP - Added a bit of user facing tooling.
2025-04-09 15:02:21 +02:00
ocornut
b3946c7126
WIP - Removed BuildClearGlyphs(), conflated with ClearOutputData()
2025-04-09 15:02:21 +02:00
ocornut
fe96793045
WIP - Fixed/improved support for legacy backend. SetTexID() writes into our ImTextureData to keep the indirection, clear TexIsBuilt.
...
The idea is that a legacy backend can somehow add a if (!atlas->IsBuilt()) ImGui_ImplXXXXX_CreateFontsTexture() call _after_ Render() and some features are supported.
2025-04-09 15:02:20 +02:00
ocornut
716489795a
WIP - (Breaking) remove ImFontAtlasCustomRect which is now the same as ImTextureRect
2025-04-09 15:02:20 +02:00
ocornut
94fcbd7ceb
WIP - Added back support for AddCustomRectFontGlyph()
...
Legacy path naturally works.
2025-04-09 15:02:20 +02:00
ocornut
e44394d15e
WIP - ImFontAtlasBuildInit() uses the occasion to sync HasTexUpdates from imgui context, narrowing the scope where it isn't set.
2025-04-09 15:02:20 +02:00
ocornut
4babe28a72
WIP - Comments, remove ImFontAtlas facing BuildGrowTexture(), BuildCompactTexture(). Make IsBuilt() obsolete.
2025-04-09 15:02:20 +02:00
ocornut
79acd583b6
WIP - Basic heuristic to repack instead of growing. Moved rects count/surface to internals.
2025-04-09 15:02:20 +02:00
ocornut
3ad76647b1
WIP - Added atlas's TexMinWidth/TexMinHeight/TexMaxWidth/TexMaxHeight.
...
Fixed ImFontAtlasBuildGetTextureSizeEstimate().
Basic error handling on OOM.
2025-04-09 15:02:20 +02:00
ocornut
ef71531f7a
WIP - Ensure UpdateBox is set on texture _WantCreate state too.
2025-04-09 15:02:20 +02:00
ocornut
b841af64a2
WIP - Turn public facing BuildRegisterGlyph() into ImFontAtlasBuildAddFontGlyph() thats sets up UV.
2025-04-09 15:02:20 +02:00
ocornut
8980e55179
WIP - Rasterizing ellipsis character from dot as one glyph + avoid preloading if it not needed.
2025-04-09 15:02:20 +02:00
ocornut
07dec0d65a
WIP - Fixed support for multiple contexts.
2025-04-09 15:02:20 +02:00
ocornut
1c01af9c11
WIP - Added ImFontAtlas::RemoveFont(), fixed various leaks.
2025-04-09 15:02:19 +02:00
ocornut
f1727541ed
WIP - Marked ImFontAtlas::Build() as obsolete
2025-04-09 15:02:19 +02:00
ocornut
c700c148e1
WIP - ClearCache(), ImFontAtlasBuildGetTextureSizeEstimate(), tweak clearing functions.
2025-04-09 15:02:19 +02:00
ocornut
350d1658ab
WIP - Fix for password fields
2025-04-09 15:02:19 +02:00
ocornut
99b72e7cb2
WIP - Use a structure for post-processing - easier to pass things around and iterate on.
2025-04-09 15:02:19 +02:00
ocornut
53c06ced45
WIP - Repack without full reload, discard rectangle, fixed CustomRect api with stable id, remove public BuildInit().
2025-04-09 15:02:19 +02:00