Commit graph

10398 commits

Author SHA1 Message Date
ocornut
523e4ae0e2 WIP - Baked system, with auto-bind, v10. 2025-03-31 17:37:40 +02:00
ocornut
f88176a8ea (Breaking) CalcWordWrapPositionA() -> CalcWordWrapPosition(), takes size instead of scale as this will be needed. 2025-03-31 17:37:40 +02:00
ocornut
a9146dbbe5 Internals: added ImStableVector<> helper. 2025-03-31 17:37:40 +02:00
ocornut
e62ef00f65 WIP - Fixed leak due to indirectly recursing ImFontAtlasPackInit(). 2025-03-31 17:37:40 +02:00
ocornut
9b96eb3b43 WIP - Stb loader: Reworked scale handling to suggest this is not required caching. 2025-03-31 17:37:40 +02:00
ocornut
9da6073021 WIP - Reduced reliance on ImFontConfig::DstFont. 2025-03-31 17:37:40 +02:00
ocornut
d95c96e20e WIP - Added a bit of user facing tooling. 2025-03-31 17:37:40 +02:00
ocornut
c264fa7410 WIP - Removed BuildClearGlyphs(), conflated with ClearOutputData() 2025-03-31 17:37:40 +02:00
ocornut
6ff2b0f0fc WIP - 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-03-31 17:37:40 +02:00
ocornut
ebddffcc56 WIP - (Breaking) remove ImFontAtlasCustomRect which is now the same as ImTextureRect 2025-03-31 17:37:40 +02:00
ocornut
56c64eb0af WIP - Added back support for AddCustomRectFontGlyph()
Legacy path naturally works.
2025-03-31 17:37:40 +02:00
ocornut
a754c61926 WIP - ImFontAtlasBuildInit() uses the occasion to sync HasTexUpdates from imgui context, narrowing the scope where it isn't set. 2025-03-31 17:37:40 +02:00
ocornut
70b4e9150f WIP - Comments, remove ImFontAtlas facing BuildGrowTexture(), BuildCompactTexture(). Make IsBuilt() obsolete. 2025-03-31 17:37:39 +02:00
ocornut
e3625d0fcd WIP - Basic heuristic to repack instead of growing. Moved rects count/surface to internals. 2025-03-31 17:37:39 +02:00
ocornut
00e4d681f1 WIP - Added atlas's TexMinWidth/TexMinHeight/TexMaxWidth/TexMaxHeight.
Fixed ImFontAtlasBuildGetTextureSizeEstimate().
Basic error handling on OOM.
2025-03-31 17:37:39 +02:00
ocornut
0e75986e7f WIP - Ensure UpdateBox is set on texture _WantCreate state too. 2025-03-31 17:37:39 +02:00
ocornut
4c0c7c1f39 WIP - Turn public facing BuildRegisterGlyph() into ImFontAtlasBuildAddFontGlyph() thats sets up UV. 2025-03-31 17:37:39 +02:00
ocornut
95bcfc98b5 WIP - Rasterizing ellipsis character from dot as one glyph + avoid preloading if it not needed. 2025-03-31 17:37:39 +02:00
ocornut
ef28c35145 WIP - Fixed support for multiple contexts. 2025-03-31 17:37:39 +02:00
ocornut
71088794ad WIP - Added ImFontAtlas::RemoveFont(), fixed various leaks. 2025-03-31 17:37:39 +02:00
ocornut
a9ae6b764f WIP - Marked ImFontAtlas::Build() as obsolete 2025-03-31 17:37:39 +02:00
ocornut
7b3f2c4857 WIP - ClearCache(), ImFontAtlasBuildGetTextureSizeEstimate(), tweak clearing functions. 2025-03-31 17:37:39 +02:00
ocornut
78e674d16c WIP - Fix for password fields 2025-03-31 17:37:39 +02:00
ocornut
50b2a81ee6 WIP - Use a structure for post-processing - easier to pass things around and iterate on. 2025-03-31 17:37:39 +02:00
ocornut
b1bb673de4 WIP - Repack without full reload, discard rectangle, fixed CustomRect api with stable id, remove public BuildInit(). 2025-03-31 17:37:39 +02:00
ocornut
b9598eab8b WIP - Measured and tweaked CalcTextSize() computation to minimize cost in our stress tests. 2025-03-31 17:37:39 +02:00
ocornut
e51c93d12d WIP - Misc amends, remove _PackNodesFactor, comments. 2025-03-31 17:37:39 +02:00
ocornut
404dc020c5 WIP - ImFontAtlas accept DrawListSharedData not being set. 2025-03-31 17:37:39 +02:00
ocornut
5a1edffaaf WIP - Optimization bake FallbackAdvanceX into IndexAdvanceX[]. 2025-03-31 17:37:39 +02:00
ocornut
16306b5c0a WIP - (Breaking) Removed atlas->TexDesiredWidth now unnecessary (github 327) 2025-03-31 17:37:39 +02:00
ocornut
5cad751aff WIP - Use TexGlyphPadding + Fixed packing issues. 2025-03-31 17:37:39 +02:00
ocornut
5f373fa3c6 WIP - Removed old code. 2025-03-31 17:37:39 +02:00
ocornut
af1732eb57 WIP - AddFont() actually does the work, so we can handle errors & return an accurate return value. 2025-03-31 17:37:39 +02:00
ocornut
49e35f0089 imgui_freetype: Removing old code. 2025-03-31 17:37:38 +02:00
ocornut
cf6b4c76c4 imgui_freetype: Added Freetype implementation for new architecture. 2025-03-31 17:37:38 +02:00
thedmd
eae2a05830 WIP - Backends: Metal: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 17:37:38 +02:00
ocornut
377f5beca0 WIP - Backends: Allegro5: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 17:37:38 +02:00
ocornut
437435846f WIP - Backends: SDLGPU3: reusing texture transfer buffer. 2025-03-31 17:37:38 +02:00
ocornut
0877cac68e WIP - Backends: SDLGPU3: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
50f1d3830e WIP - Backends: SDL_Renderer3: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
bed34ebbf8 WIP - Backends: SDL_Renderer2: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
ebc174a22e WIP - Backends: Vulkan: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
bd985153e6 WIP - Backends: OpenGL2: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
0cf0bd27f7 WIP - Backends: OpenGL3: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
a5fccb498e WIP - Backends: DirectX12: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
8beb6e922b WIP - Backends: DirectX10: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
e9ba9d6181 WIP - Backends: DirectX9: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
eec6305ae3 WIP - Backends: DirectX11: added ImGuiBackendFlags_RendererHasTextures support. 2025-03-31 14:53:54 +02:00
ocornut
74b711e072 WIP - Adding a RefCount to textures so backend can avoid destroying them on shutdown if atlas is shared. 2025-03-31 14:53:54 +02:00
ocornut
46325b4b59 WIP - Single Textures[] array allows backend to not have to care about atlases. 2025-03-31 14:53:54 +02:00