Commit Graph

11047 Commits

Author SHA1 Message Date
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
ocornut
e8035b94e5 Fonts: misc tidying up. 2025-06-11 15:56:38 +02:00
ocornut
d789263e08 Fonts: internal rendering uses higher level functions. 2025-06-11 15:56:38 +02:00
ocornut
12599da53d Fonts: do not mark whole ImTextureData struct as IMGUI_API to fix warning when used in ImVector<> (8559) 2025-06-11 15:56:38 +02:00
ocornut
fb5c537080 Fonts: changing loader/backend or loader flags may be done without losing custom rects. Sharing more code. 2025-06-11 15:56:38 +02:00
ocornut
526a5d0f8a Fonts: tidying up. 2025-06-11 15:56:24 +02:00
ocornut
1ea9ff3677 Fonts: add optional out parameter to AddCustomRect() 2025-06-11 15:56:24 +02:00
ocornut
074bf39e40 Fonts: GC Compact All exposed in Metrics->Memory Allocations includes compacting texture data. 2025-06-11 15:56:24 +02:00
ocornut
23dc46c4f8 Fonts: added RemoveCustomRect().
+ internally add ImFontAtlasPackReuseRectEntry()
2025-06-11 15:56:24 +02:00
ocornut
e9cf3de58f Fonts: moved ImFontAtlasRectId back to public API. 2025-06-11 15:56:24 +02:00
ocornut
69d28f867c Fonts: added ImFontAtlasRectId_Invalid == -1 2025-06-11 15:56:24 +02:00
ocornut
db30e1b5b6 (Breaking) Fonts: rework GetCustomRect() api. Reintroduce ImFontAtlasRect. 2025-06-11 15:55:51 +02:00
ocornut
f40274702d (Breaking) Fonts: renamed AddCustomRectRegular() -> AddCustomRect(). 2025-06-11 15:55:51 +02:00
ocornut
253dff7656 Fonts: Comments. 2025-06-11 15:55:38 +02:00
ocornut
fc87081133 Fonts: fixed GetCustomRectUV().
Fixing typo. Broken by fe598f7
2025-06-11 15:55:38 +02:00
ocornut
9324961cd2 Fonts: fixed calling AddFontXXX not invalidating texture for legacy backends. 2025-06-11 15:55:28 +02:00
ocornut
44498825cd (Breaking) Fonts: PushFont() default to preserve current font size. 2025-06-11 15:54:53 +02:00
ocornut
168b97c291 Fonts: removed size rounding in AddFont() which breaks relative sizing of merged fonts (8502)
# Conflicts:
#	imgui.cpp
2025-06-11 15:54:52 +02:00
ocornut
2de15dc64b Fonts: fixed legacy backend path preloading all sources sizes erroneously + failing to use ellipsis. 2025-06-11 15:54:26 +02:00
ocornut
5460903f96 Fonts: awkwardly alias old TexID name to TexRef using an union (may backtrack and just keep old name) 2025-06-11 15:54:26 +02:00
ocornut
cb4c03756a Fonts: detect if backend assign to texture on creation but doesn't update Status. 2025-06-11 15:54:26 +02:00
ocornut
a548cd9934 Fonts: avoid both ImTextureRef fields being set simultaneously. 2025-06-11 15:54:12 +02:00
ocornut
0fff7ceda4 Fonts: comments, tweaks, minor amends.
Comments, tweaks
2025-06-11 15:53:42 +02:00
ocornut
e41bf16ff1 Fonts: fixed ImTextureID() being zero-cleared instead of using ImTextureUserID_Invalid. . 2025-06-11 15:53:42 +02:00
ocornut
8bd1fc4f04 Textures: Added ImTextureRef::GetTexID() mostly for consistency.
Without it the logic may seem more confusing to grok for end-user.
2025-06-11 15:53:42 +02:00
ocornut
cc65015e4e Fonts: fixed crashing password fields.
# Conflicts:
#	imgui_internal.h
2025-06-11 15:53:41 +02:00
ocornut
41517bca0c (Breaking) Fonts: renamed CalcCustomRectUV() to GetCustomRectUV() for simplicity. 2025-06-11 15:52:21 +02:00
ocornut
4048494aa1 Fonts: rename ImFontAtlasBuildClearTexture() to ImFontAtlasBuildClear(). 2025-06-11 15:52:21 +02:00
ocornut
f816b861fc (Breaking) Fonts: rename GetCustomRectByIndex() to GetCustomRect(). Made return struct const. 2025-06-11 15:52:12 +02:00
ocornut
85d0507580 Fonts: narrowed invalid value for ImFontAtlasRectId to -1 a we will change implementation. 2025-06-11 15:52:12 +02:00
ocornut
b12c42e75d Fonts: change uses of ImFontAtlasRect to ImTextureRect for simplicity. 2025-06-11 15:52:12 +02:00
ocornut
e76cfe5aad Fonts: fixed implicit init when calling AddCustomRectRegular(). LoaderShutdown match BuildDestroy. 2025-06-11 15:52:12 +02:00
ocornut
7ac1bff482 Fonts: fixed an issue calling legacy ImFontAtlas::Clear(). 2025-06-11 15:52:12 +02:00
ocornut
144f444217 Fonts: fixed memory leaks, shutting down font loader, and on AddFont() failure in FreeType backend. 2025-06-11 15:52:12 +02:00
ocornut
52a6863771 Textures: ImTextureData pixels are not immediately destroyed on setting ImTextureStatus_WantDestroy. 2025-06-11 15:52:12 +02:00
ocornut
8ea0ae454f Fonts: fixed a bug using size specified by secondary font sources. 2025-06-11 15:52:12 +02:00
ocornut
735d31e54a Demo: Exposed some basic UI in demo for sanity. 2025-06-11 15:52:04 +02:00
ocornut
41a0e991f0 Fonts: Added UI to edit FreeType loader flags. Added ImFontAtlasBuildReloadAll() / ImFontAtlasBuildReloadFont() 2025-06-11 15:51:56 +02:00
ocornut
40f988ce2a Fonts: in ShowFontAtlas() preserve open-state for latest texture. Improve debug display. 2025-06-11 15:51:56 +02:00
ocornut
c98e3c0eff Fonts: ImFontConfig::GlyphExcludeRanges is owner and copied. 2025-06-11 15:51:56 +02:00
ocornut
da51485e17 Fonts: Obsolete GetGlyphRangesXXX() functions. Update font documentation. 2025-06-11 15:51:56 +02:00
ocornut
93410c47e1 Fonts: Fixed various small warnings / build issues. 2025-06-11 15:51:56 +02:00
ocornut
dec8d3863a Fonts: Added a ImFontFlags_NoLoadError flag to let user code try file paths. (3611) 2025-06-11 15:51:56 +02:00
ocornut
131f5c57ab Textures: Detect when using a texture that's about to be destroyed. 2025-06-11 15:51:56 +02:00