ocornut
2bf6552f2f
Fonts: 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-06-11 15:45:14 +02:00
ocornut
ba62becb7d
(Breaking) Fonts: remove ImFontAtlasCustomRect which is now the same as ImTextureRect
2025-06-11 15:45:08 +02:00
ocornut
a509790a1c
Fonts: Added back support for AddCustomRectFontGlyph()
...
Legacy path naturally works.
2025-06-11 15:45:08 +02:00
ocornut
953ce90d27
Fonts: ImFontAtlasBuildInit() uses the occasion to sync HasTexUpdates from imgui context, narrowing the scope where it isn't set.
2025-06-11 15:45:07 +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
14614f561b
Textures: Ensure UpdateBox is set on texture _WantCreate state too.
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
a6c7801926
Fonts: Measured and tweaked CalcTextSize() computation to minimize cost in our stress tests.
2025-06-11 15:42:55 +02:00
ocornut
076a1ab85c
Fonts: Misc amends, remove _PackNodesFactor, comments.
2025-06-11 15:42:54 +02:00
ocornut
ac13683c26
Fonts: ImFontAtlas accept DrawListSharedData not being set.
2025-06-11 15:42:54 +02:00
ocornut
43cc3fc8b1
Fonts: optimization bake FallbackAdvanceX into IndexAdvanceX[].
2025-06-11 15:42:54 +02:00
ocornut
4f27792ffe
(Breaking) Removed atlas->TexDesiredWidth now unnecessary (github 327)
2025-06-11 15:42:54 +02:00
ocornut
b670f799d5
Fonts: use TexGlyphPadding. Fixed packing issues. Removed old code.
2025-06-11 15:41:21 +02:00
ocornut
0f553c57bd
Fonts: AddFont() actually does the work, so we can handle errors & return an accurate return value.
2025-06-11 15:41:21 +02:00
ocornut
c20e160e0f
Textures: added texture list pointer in ImDrawData.
...
# Conflicts:
# imgui.h
2025-06-11 15:12:02 +02:00
ocornut
ee357aaddf
Textures: Add ImTextureUserID_Invalid + introducing SetTexID().
...
Which gives us room for potentially updating ImDrawData during render.
2025-06-11 15:04:02 +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
407a0b972e
(Breaking) Fonts: CalcWordWrapPositionA() -> CalcWordWrapPosition(), takes size instead of scale.
...
This will be needed for upcoming changes.
2025-05-23 16:08:00 +02:00
ocornut
f484af34c2
Font: rename ImFont::AddRemapChar() parameters for clarity. ( #609 )
2025-05-08 18:05:05 +02:00
ocornut
e4a865177e
ImFont: added cpu clip fine option for ImFont::RenderChar() (which is technically internal).
...
(toward #7024 )
2025-04-16 20:21:23 +02:00
ocornut
e5b218e6d1
TreeNode: added ImGuiTreeNodeFlags_DrawTreeXXX flags. ( #2920 )
...
# Conflicts:
# docs/CHANGELOG.txt
2025-04-08 19:58:59 +02:00
ocornut
b4bd596a39
Fonts: word-wrapping code handle ideographic comma & full stop (U+3001, U+3002). ( #8540 )
2025-04-01 22:57:07 +02:00
ocornut
fcab22f80f
Fonts: fixed CalcWordWrapPositionA() fallback when width is too small to wrap with multibyte codepoints.. ( #8540 )
2025-04-01 22:57:07 +02:00
tanksdude
f5003aff69
Docs: Fix some typos ( #8505 )
2025-03-21 16:23:09 +01:00
ocornut
d467950a5e
Style, InputText: added ImGuiCol_InputTextCursor to configure color of the InputText cursor/caret. ( #7031 )
2025-03-19 17:50:40 +01:00
ocornut
0ecb2bbe74
Version 1.92.0 WIP
2025-03-19 17:45:20 +01:00
ocornut
93b446a962
Backtrack of version tagging 1.92.0 > 1.91.9b for publishing a hotfix ( #8496 )
2025-03-17 19:39:52 +01:00
ocornut
bfaef8ca17
Version 1.92.0 WIP
2025-03-17 19:09:07 +01:00
ocornut
97428e8ac9
Version 1.91.9
2025-03-14 17:13:11 +01:00
ocornut
ea2a12112d
Misc: Various zealous warning fixes for newer version of Clang.
2025-03-14 17:13:11 +01:00
ocornut
1ec99f4fd3
Internals: added ImStrlen/ImMemchr #define to facilitate experimenting with variations. ( #8421 )
2025-03-07 11:09:07 +01:00
ocornut
4c0604ec2e
Font: shallow refactor, rename ConfigData[] fields to Sources[], ConfigDataCount to SourcesCount.
...
In theory this is all internal stuff.
2025-02-25 17:41:29 +01:00
ocornut
6dc376f676
ImFontAtlas: added software/drawlist version of ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress + moved GetMouseCursorTexData() to internals.
2025-02-20 12:17:21 +01:00
ocornut
85c488ee12
Hot-fix for broken MouseDrawCursor support for ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress/ImGuiMouseCursor_NotAllowed.
...
Amend 8a35386
, eec097f
.
2025-02-20 11:46:56 +01:00
ocornut
78ec1272e9
ImDrawList: added InitialFringeScale in ImDrawListSharedData. Default to 1.0f.
...
This is to allow some DPI mods with less changes. Only the initial value in SetupDrawListSharedData() will need change.
2025-02-17 11:28:35 +01:00
ocornut
474305c476
ImFont: simpler constructor.
2025-02-14 16:15:09 +01:00
ocornut
914fbcf2e5
Fonts: removed unnecessary const qualifier from ImFont::FindGlyph()
...
Amend 0bde57c
2025-02-07 16:26:20 +01:00
ocornut
cfed18afc7
Add ImFontConfig::GlyphExtraAdvanceX as a replacement for GlyphExtraSpacing.x ( #242 )
...
Partly restore 1a31e31
.
2025-02-06 12:34:37 +01:00
ocornut
1a31e31ae9
(Breaking) Fonts: removed ImFontConfig::GlyphExtraSpacing option which seems largely obsolete and unused. ( #242 )
2025-02-03 17:55:35 +01:00