ocornut
7aba8da551
(Breaking) Fonts: CalcWordWrapPositionA() -> CalcWordWrapPosition(), takes size instead of scale as this will be needed.
2025-06-11 15:45:22 +02:00
ocornut
a2371ef90b
Internals: added ImStableVector<> helper.
2025-06-11 15:45:14 +02:00
ocornut
fb69a09d6e
Fonts: Fixed leak due to indirectly recursing ImFontAtlasPackInit().
2025-06-11 15:45:14 +02:00
ocornut
c5653d5f34
Fonts: stb_truetype loader: Reworked scale handling to suggest this is not required caching.
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
722f6013ff
Fonts: Added a bit of user facing tooling.
2025-06-11 15:45:14 +02:00
ocornut
bd19bc5085
Fonts: Removed BuildClearGlyphs(), conflated with ClearOutputData()
2025-06-11 15:45:14 +02:00
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
ef1521b472
Fonts: fix for password fields
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
1269467fa0
imgui_freetype: Removing old code.
2025-06-11 15:41:16 +02:00
ocornut
08e1e7681e
imgui_freetype: Added Freetype implementation for new architecture.
2025-06-11 15:41:16 +02:00
thedmd
26c017d5ea
Backends: Metal: added ImGuiBackendFlags_RendererHasTextures support.
...
# Conflicts:
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
2025-06-11 15:41:05 +02:00
ocornut
ee8941e0de
Backends: Allegro5: added ImGuiBackendFlags_RendererHasTextures support.
2025-06-11 15:41:05 +02:00
ocornut
16fe666e36
Backends: SDLGPU3: added ImGuiBackendFlags_RendererHasTextures support.
...
# Conflicts:
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_sdlgpu3.h
2025-06-11 15:38:14 +02:00
ocornut
e538883a20
Backends: SDL_Renderer3: added ImGuiBackendFlags_RendererHasTextures support.
2025-06-11 15:38:13 +02:00
ocornut
9fa65cd190
Backends: SDL_Renderer2: added ImGuiBackendFlags_RendererHasTextures support.
2025-06-11 15:37:50 +02:00
ocornut
abe294bfd0
Backends: Vulkan: added ImGuiBackendFlags_RendererHasTextures support.
...
# Conflicts:
# backends/imgui_impl_vulkan.cpp
2025-06-11 15:33:28 +02:00
ocornut
0430c55b84
Backends: OpenGL2: added ImGuiBackendFlags_RendererHasTextures support.
...
Removed ImGui_ImplOpenGL2_CreateFontsTexture() and ImGui_ImplOpenGL2_DestroyFontsTexture().
2025-06-11 15:30:45 +02:00
ocornut
dbb91a574f
Backends: OpenGL3: added ImGuiBackendFlags_RendererHasTextures support.
...
+ Removed ImGui_ImplOpenGL3_CreateFontsTexture() and ImGui_ImplOpenGL3_DestroyFontsTexture().
2025-06-11 15:29:14 +02:00
ocornut
eefe5d5aac
Backends: DirectX12: added ImGuiBackendFlags_RendererHasTextures support.
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
2025-06-11 15:27:19 +02:00
ocornut
2d2b1bc1cc
Backends: DirectX10: added ImGuiBackendFlags_RendererHasTextures support.
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
2025-06-11 15:27:16 +02:00
ocornut
75efba7ec7
Backends: DirectX9: added ImGuiBackendFlags_RendererHasTextures support
...
# Conflicts:
# backends/imgui_impl_dx9.cpp
2025-06-11 15:27:11 +02:00
ocornut
372fd27e71
Backends: DirectX11: added ImGuiBackendFlags_RendererHasTextures support.
...
# Conflicts:
# backends/imgui_impl_dx11.cpp
2025-06-11 15:26:00 +02:00
ocornut
c20e160e0f
Textures: added texture list pointer in ImDrawData.
...
# Conflicts:
# imgui.h
2025-06-11 15:12:02 +02:00
ocornut
208705368e
Textures: Adding a RefCount to textures so backend can avoid destroying them on shutdown if atlas is shared.
2025-06-11 15:05:51 +02:00
ocornut
a21a2e855b
Textures: Single Textures[] array allows backend to not have to care about atlases.
...
# Conflicts:
# imgui.h
2025-06-11 15:05:49 +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