Commit graph

10391 commits

Author SHA1 Message Date
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
ocornut
8d9582ad1e WIP - Add ImTextureUserID_Invalid + introducing SetTexUserID().
Which gives us room for potentially updating ImDrawData during render.
2025-03-31 14:53:54 +02:00
ocornut
e27b013f28 WIP - Selecting font config source list done by shared code. 2025-03-31 14:53:54 +02:00
ocornut
8a7bc799f1 WIP - (squash) Rename FontBackend -> FontLoader 2025-03-31 14:53:54 +02:00
ocornut
e8cda61bc1 WIP - Main code for ImGuiBackendFlags_RendererHasTextures feature. 2025-03-31 14:53:54 +02:00
ocornut
889b03b320 WIP (Breaking) added ImTextureRef struct.
Softly breaking. May require support from language binding generator.
Rebased and reworked completely on 2025/03/19.
2025-03-31 14:53:54 +02:00
ocornut
8d8b125832 Backends: SDLGPU3: Made ImGui_ImplSDLGPU3_PrepareDrawData() reuse GPU Transfer Buffers which were unusually slow to recreate every frame. (#8534) 2025-03-31 14:52:48 +02:00
ocornut
df5690d91a Merge branch 'master' into docking
Some checks are pending
build / Linux (push) Waiting to run
build / Emscripten (push) Waiting to run
build / Windows (push) Waiting to run
build / MacOS (push) Waiting to run
build / iOS (push) Waiting to run
build / Android (push) Waiting to run
# Conflicts:
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
2025-03-30 16:42:28 +02:00