Commit Graph

11047 Commits

Author SHA1 Message Date
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
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
e55415bfef (Breaking) renamed/moved ImGuiConfigFlags_DpiEnableScaleFonts -> ioConfigDpiScaleFonts, ImGuiConfigFlags_DpiEnableScaleViewports -> io.ConfigDpiScaleViewports 2025-06-11 15:02:06 +02:00
ocornut
b2f39318cb Adding .cache to ignore list. (#8674) 2025-06-11 13:41:06 +02:00
Dylam De La Torre
201899b611 Backends: OpenGL3: Fixed using non-existing features on GLES 3.20 which would push a GL error. (#8664)
* GL_PRIMITIVE_RESTART is not a valid enum for glEnable&co on GLES 3.20
* GL_CONTEXT_PROFILE_MASK is not a valid enum for glGetIntegerv on GLES 3.20
2025-06-04 23:48:56 +02:00
ocornut
eaac68ca2c Merge branch 'master' into docking
# Conflicts:
#	imgui_demo.cpp
2025-06-04 22:30:43 +02:00
ocornut
c3d7ada9df Demo: add indentation to simplify upcoming merges. 2025-06-04 22:27:34 +02:00
ocornut
91f72bbe1c Demo: omit ImGui:: prefix from ShowStyleEditor(), ShowUserGuide() code. 2025-06-04 21:29:12 +02:00
ocornut
9485aeb5c8 Demo: changed default framed item width to use Min(GetFontSize() * 12, GetContentRegionAvail().x * 0.40f). 2025-06-04 17:35:45 +02:00
ocornut
e877f78b0e TreeNode: minor amend to b7ab2b7. (#2920) 2025-06-02 20:57:21 +02:00
ocornut
ef503ab0c8 TreeNode: fixed out of bound access in ImGuiTreeNodeFlags_DrawLinesXXX feature. (#2920)
TreeNode behavior would read TreeRecordsClippedNodesY2Mask from an older node at same lebel, and write to g.TreeNodeStack.Data[-1].
2025-06-02 20:50:38 +02:00
ocornut
b7ab2b7523 TreeNode: fixed an issue where tree lines are not drawn on node opening frame. (#2920) 2025-06-02 20:47:02 +02:00
ocornut
a92b53df7b Backends: Win32: Viewports: handle WM_DPICHANGED in backend when ImGuiConfigFlags_DpiEnableScaleViewports flag is enabled. 2025-06-02 19:21:22 +02:00
ocornut
ac6b84a7d7 Viewports: fixed handling of simultaneous move + resize (e.g. toggling maximized) when ImGuiConfigFlags_DpiEnableScaleViewports is enabled.
Amend 967073ba3d
2025-06-02 17:15:40 +02:00
ocornut
5e17c08010 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2025-05-30 22:00:26 +02:00
ocornut
69e1fb50ca Docs: fixed missing commit credit. (#8656) 2025-05-30 21:59:13 +02:00
Romain Moret
e6913f58b9 imgui_freetype: Update lunasvg API to support v3.0+ (#8656, #6842, #6591) 2025-05-30 21:58:25 +02:00
ocornut
c3a3a39e92 Nav: fixed abnormal clipping disable over large ranges, could lead to stall. (#3841, #1725)
Amend 93cccd27f
2025-05-30 21:55:50 +02:00
ocornut
19289d587a Nav: fixed scroll fallback (when there are no interactive widgets to jump to) not being enabled on windows with menu or title bar. 2025-05-30 21:54:33 +02:00
ocornut
c53c9a8644 Clipper: further mitigation/improvements for abnormally large contents ranges (larger than e.g. 2^31). (#3609, #8215) 2025-05-30 21:53:25 +02:00