ocornut
24f7328e5f
DrawList, Fonts: fixed ImFontAtlasTextureRepack() overwriting draw list shared data UV's etc. even when not bound. ( #8694 , #8465 )
...
ImFontAtlasUpdateDrawListsSharedData() call from ImFontAtlasTextureRepack() would trigger this.
For simplicity we also track current atlas in ImDrawListSharedData, but we could probably use Font->ContainerAtlas.
2025-06-17 12:06:05 +02:00
ocornut
cfa43e721a
Windows: clicking on a window close button doesn't claim focus and bring to front. ( #8683 )
...
Added ImGuiItemFlags_NoFocus, ImGuiButtonFlags_NoFocus. Neither are well specified so marking as experimental.
2025-06-13 17:40:17 +02:00
ocornut
d8da97f756
Fonts: UpdateCurrentFontSize() early out doesn't need to clear FontBaked.
...
This was meant when the code would be lower in the function (after updating e.g. g.FontSize) Amend 0e769c5
.
2025-06-13 16:47:23 +02:00
ocornut
ca3169310e
Fonts: fixed FontBaked=NULL in initial call to SetCurrentWindow() in Begin() using previous frame value of SkipItems. ( #8465 )
...
ref 0e769c5
2025-06-13 16:46:41 +02:00
ocornut
1ec1510ef7
Fonts: clarify assert. ( #8680 )
2025-06-12 16:49:47 +02:00
ocornut
115a8e74c2
Fonts: update misc comments, docs.
2025-06-12 14:18:23 +02:00
ocornut
41f4acfb4f
Fonts: add has_textures parameters to ImFontAtlasUpdateNewFrame().
2025-06-12 11:44:11 +02:00
ocornut
a0b3eceec7
Fixed using IMGUI_DISABLE_DEMO_WINDOWS without IMGUI_DISABLE_DEBUG_TOOLS and without linking with imgui_demo.cpp
2025-06-12 11:02:32 +02:00
ocornut
df068ce11e
Various/misc fixes following back-and-forth dynamic_fonts->master->docking merges. Added missing API BREAKING CHANGES section.
2025-06-11 18:50:16 +02:00
ocornut
4acce85656
Fonts: tweaks demo and exposure to sliders, etc.
2025-06-11 17:36:28 +02:00
ocornut
cc3d4cab21
(Breaking) renamed ImFontConfig::FontBuilderFlags -> FontLoaderFlags. ImFontAtlas::FontBuilderFlags -> FontLoaderFlags. ImGuiFreeTypeBuilderFlags -> ImGuiFreeTypeLoaderFlags.
2025-06-11 16:42:31 +02:00
ocornut
e1481a731d
Fonts: fixed NewFrame() when atlas builder has been created but fonts not added. Fixed GetCustomRect() after atlas clear.
2025-06-11 16:25:18 +02:00
ocornut
0e769c5418
Fonts: amend UpdateCurentFontSize() early out optimization.
2025-06-11 16:25:13 +02:00
ocornut
573f08135d
Fonts: fixed PopFont() broken recovery.
...
"misc_recover_1" test would assert in EndFrame()
2025-06-11 16:25:10 +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
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
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
f3780c7354
Fonts: adding GetFontBaked() in public API.
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
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
46fa9e8efb
Fonts: Debug display status. Fixed truncated raw texture id. Fixed FormatTextureIDForDebugDisplay(). Comments.
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
2b0d49a905
Fonts: make ImFont::Sources a vector.
...
Later it should become a ImSpan<>
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
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
ed2bb2cff0
Fonts: encode additional data in ImFontAtlasRectId to detect invalid id + added Rects debug browser.
2025-06-11 15:56:39 +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
074bf39e40
Fonts: GC Compact All exposed in Metrics->Memory Allocations includes compacting texture data.
2025-06-11 15:56:24 +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
0fff7ceda4
Fonts: comments, tweaks, minor amends.
...
Comments, tweaks
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
4048494aa1
Fonts: rename ImFontAtlasBuildClearTexture() to ImFontAtlasBuildClear().
2025-06-11 15:52:21 +02:00
ocornut
b12c42e75d
Fonts: change uses of ImFontAtlasRect to ImTextureRect for simplicity.
2025-06-11 15:52:12 +02:00