Commit Graph

2719 Commits

Author SHA1 Message Date
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
161e222322 Fonts: GetFontBaked() default to searching for closest size font. 2025-06-11 15:51:30 +02:00
ocornut
e98a314e06 Textures: Added ImTextureData::UsedRect.
# Conflicts:
#	imgui_internal.h
2025-06-11 15:51:19 +02:00
ocornut
2bf6879dae Fonts: tidying up font scale logic.
# Conflicts:
#	imgui_internal.h
2025-06-11 15:51:18 +02:00
ocornut
18c8a93cca Fonts: Rework ImFontLoader signatures.
InitBaked may return false to signify this size is not supported.
2025-06-11 15:47:49 +02:00
ocornut
1cfc0de31d Fonts: 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-06-11 15:47:41 +02:00
ocornut
76b252f80a Fonts: Added ImFontAtlasBakedSetFontGlyphBitmap(). 2025-06-11 15:47:41 +02:00
ocornut
8a8d8a7b38 Fonts: Exposed CompactCache(). Hide ClearCache(). 2025-06-11 15:47:35 +02:00
ocornut
815553c4b4 Fonts: ImFontConfig: added GlyphExcludeRanges[]. 2025-06-11 15:47:35 +02:00
ocornut
df694c89b0 Fonts: Baked system, v11. 2025-06-11 15:47:17 +02:00
ocornut
3ce753c489 Fonts: Debug dump to disk, debug log. 2025-06-11 15:47:00 +02:00
ocornut
daaf0e4ef3 Fonts: Added PushFontSize(), PopFontSize() api. Added font_size param to PushFont() as well.
Fonts: Fixed PopFont() recovery.

(To squash into "Added PushFontSize(), PopFontSize() api."
2025-06-11 15:46:28 +02:00
ocornut
093d01269a Fonts: Baked system, with auto-bind, v10.
# Conflicts:
#	imgui_internal.h
2025-06-11 15:46:27 +02:00
ocornut
a2371ef90b Internals: added ImStableVector<> helper. 2025-06-11 15:45:14 +02:00
ocornut
b203ac1e0d Fonts: Reduced reliance on ImFontConfig::DstFont. 2025-06-11 15:45:14 +02:00
ocornut
a509790a1c Fonts: Added back support for AddCustomRectFontGlyph()
Legacy path naturally works.
2025-06-11 15:45:08 +02:00
ocornut
288055180e Fonts: Comments, remove ImFontAtlas facing BuildGrowTexture(), BuildCompactTexture(). Make IsBuilt() obsolete. 2025-06-11 15:45:07 +02:00
ocornut
8ed4e2dde7 Fonts: Basic heuristic to repack instead of growing. Moved rects count/surface to internals. 2025-06-11 15:45:07 +02:00
ocornut
2137b3448b Textures: Added atlas's TexMinWidth/TexMinHeight/TexMaxWidth/TexMaxHeight.
Fixed ImFontAtlasBuildGetTextureSizeEstimate().
Basic error handling on OOM.
2025-06-11 15:45:01 +02:00
ocornut
b06f3c6d1d Fonts: turn public facing BuildRegisterGlyph() into ImFontAtlasBuildAddFontGlyph() thats sets up UV. 2025-06-11 15:44:38 +02:00
ocornut
4ff1631b31 Fonts: Rasterizing ellipsis character from dot as one glyph + avoid preloading if it not needed.
# Conflicts:
#	imgui.cpp
2025-06-11 15:44:37 +02:00
ocornut
a2bc3d81c2 Fonts: Fixed support for multiple contexts. 2025-06-11 15:43:07 +02:00
ocornut
cec3e945f0 Fonts: added ImFontAtlas::RemoveFont(), fixed various leaks. 2025-06-11 15:43:07 +02:00
ocornut
df8450d928 Fonts: marked ImFontAtlas::Build() as obsolete 2025-06-11 15:43:07 +02:00
ocornut
4399599de9 Fonts: ClearCache(), ImFontAtlasBuildGetTextureSizeEstimate(), tweak clearing functions. 2025-06-11 15:43:06 +02:00
ocornut
a51a26e2aa Fonts: use a structure for post-processing - easier to pass things around and iterate on. 2025-06-11 15:43:06 +02:00
ocornut
553b1c301d Fonts: repack without full reload, discard rectangle, fixed CustomRect api with stable id, remove public BuildInit(). 2025-06-11 15:43:01 +02:00
ocornut
b670f799d5 Fonts: use TexGlyphPadding. Fixed packing issues. Removed old code. 2025-06-11 15:41:21 +02:00
ocornut
2cde9125d6 Fonts: Selecting font config source list done by shared code. 2025-06-11 15:04:02 +02:00
ocornut
0f0473bf1c Fonts, Textures: main code for ImGuiBackendFlags_RendererHasTextures feature.
# Conflicts:
#	imgui.h
#	imgui_demo.cpp
2025-06-11 15:03:46 +02:00
ocornut
191a728ecc (Breaking) added ImTextureRef struct. Changed ImDrawCmd::TextureId to TexRef.
Softly breaking. May require support from language binding generator.
Rebased and reworked completely on 2025/03/19.
2025-06-11 15:02:36 +02:00
ocornut
5e17c08010 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2025-05-30 22:00:26 +02:00
ocornut
87a6443c5b Scroll: fixed contents size, scrollbar visibility and scrolling reet issue with abnormally large contents ranges. (#3609, #8215) 2025-05-30 21:52:51 +02:00
ocornut
346f5c6819 Platform IME: Fixed multi-viewports IME support, affecting SDL backends. (#8648, #8584, #7492, #6341)
Regression from merging bf0f586b6
2025-05-23 13:59:20 +02:00
ocornut
e11ad6b77e Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
2025-05-19 18:48:22 +02:00
ocornut
6d939fcedc (Breaking) TreeNode: renamed ImGuiTreeNodeFlags_NavLeftJumpsBackHere to ImGuiTreeNodeFlags_NavLeftJumpsToParent for clarity. (#1079, #8639) 2025-05-15 17:35:29 +02:00
ocornut
1c8fad73f8 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdlgpu3.cpp
#	backends/imgui_impl_vulkan.cpp
#	backends/imgui_impl_win32.cpp
2025-05-07 15:24:46 +02:00
ocornut
afd3a36f69 Demo: added basic Fonts section under main demo (same as Metrics one) for visibility. 2025-05-05 19:39:56 +02:00
ocornut
f2ba3a937b Rework TextAligned() api to take size input. (#7024) 2025-04-23 15:11:17 +02:00
ocornut
aed1bcc12c Rework TextAligned() api to take size input. (#7024) 2025-04-23 14:52:29 +02:00
ocornut
839e3274e1 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
#	imgui.h
#	imgui_widgets.cpp
2025-04-23 14:42:36 +02:00
ocornut
6a42d6b339 Added wp TextAligned() TextAlignedV(), TextAlignedExV() to internal API. (#7024) 2025-04-23 14:39:59 +02:00
ocornut
bf0f586b69 Platform IME: added ImGuiPlatformImeData::WantTextInput, ViewportId. Backends: SDL3: honor WantTextInput. (#8584, #7492, #6341) 2025-04-22 11:21:02 +02:00
ocornut
88d2df24be Merge branch 'master' into docking 2025-04-16 20:31:18 +02:00
ocornut
97d85338e8 Tabs: adjust handling of ellipsis now that Close Button visibility changed. (#8387) Internals: remove extra parameter to RenderTextEllipsis().
This requires RenderTextEllipsis() to use fine CPU-side clippoing.
Users of RenderTextEllipsis(): #7024, #6236, #5267, #5745, #4269, #2775
2025-04-16 20:29:43 +02:00
ocornut
f4d9359095 Merge branch 'master' into docking 2025-04-10 17:26:11 +02:00
ocornut
9943137d1e TreeNode: fixed non-opened clipped child node not moving Y2 marker. (#2920) 2025-04-10 17:25:06 +02:00
ocornut
ee0d96ac0d TreeNode: extract code out of TreePop() into TreeNodeDrawLineToTreePop(). (#2920) 2025-04-10 17:00:29 +02:00
ocornut
5311253468 TreeNode: ImGuiTreeNodeFlags_DrawLinesFull uses ToNodes Y2 when they are close (using a threshold). (#2920) 2025-04-10 16:03:39 +02:00