ocornut
131f5c57ab
Textures: Detect when using a texture that's about to be destroyed.
2025-06-11 15:51:56 +02:00
ocornut
0b71339122
Demo: Add a "Fonts" section for visibility.
2025-06-11 15:51:33 +02:00
ocornut
e98a314e06
Textures: Added ImTextureData::UsedRect.
...
# Conflicts:
# imgui_internal.h
2025-06-11 15:51:19 +02:00
ocornut
2bf6879dae
Fonts: tidying up font scale logic.
...
# Conflicts:
# imgui_internal.h
2025-06-11 15:51:18 +02:00
ocornut
8a8d8a7b38
Fonts: Exposed CompactCache(). Hide ClearCache().
2025-06-11 15:47:35 +02:00
ocornut
82b81fce68
Fonts: PushFontSize() with -1 uses sources[0]'s size for now (backward compat design)
2025-06-11 15:47:34 +02:00
ocornut
6580590226
Fonts: Allow PushFont/NewFrame/PopFont idioms to function.
2025-06-11 15:47:29 +02:00
ocornut
99f6b305c1
Fonts: Baked system, v12: support GlyphOffset / GlyphMinAdvanceX / GlyphMaxAdvanceX by scaling from ref value.
...
Overwriting cfg->PixelSnapH = true; in imgui_freetype is weird.
2025-06-11 15:47:21 +02:00
ocornut
daaf0e4ef3
Fonts: Added PushFontSize(), PopFontSize() api. Added font_size param to PushFont() as well.
...
Fonts: Fixed PopFont() recovery.
(To squash into "Added PushFontSize(), PopFontSize() api."
2025-06-11 15:46:28 +02:00
ocornut
80404fae30
Fonts: clarify ClearTexData() as not supported with dynamic atlases.
2025-06-11 15:46:28 +02:00
ocornut
093d01269a
Fonts: Baked system, with auto-bind, v10.
...
# Conflicts:
# imgui_internal.h
2025-06-11 15:46:27 +02:00
ocornut
722f6013ff
Fonts: Added a bit of user facing tooling.
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
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
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
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
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
eaac68ca2c
Merge branch 'master' into docking
...
# Conflicts:
# imgui_demo.cpp
2025-06-04 22:30:43 +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
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
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
ocornut
87a6443c5b
Scroll: fixed contents size, scrollbar visibility and scrolling reet issue with abnormally large contents ranges. ( #3609 , #8215 )
2025-05-30 21:52:51 +02:00
ocornut
2bf57bbad4
Refactor: move SetCurrentFont(), PushFont(), PopFont() to a section.
...
+ Add commented out config flags.
2025-05-27 18:31:55 +02:00
ocornut
77f1d3b317
Refactor: move SetCurrentFont(), PushFont(), PopFont() to a section.
2025-05-26 19:32:28 +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
346f5c6819
Platform IME: Fixed multi-viewports IME support, affecting SDL backends. ( #8648 , #8584 , #7492 , #6341 )
...
Regression from merging bf0f586b6
2025-05-23 13:59:20 +02:00
ocornut
5f0acadf7d
RenderTextEllipsis() added breaking comments.
2025-05-20 18:06:12 +02:00
ocornut
e11ad6b77e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
2025-05-19 18:48:22 +02:00
ocornut
415dddf0fa
Tooltips: tooltips have a maximum size corresponding to host display/monitor size.
2025-05-19 18:42:55 +02:00
ocornut
10a0eb3e1c
Alter windows min/max size logic to prioritize enforcing size_max bounds rather than size_min.
...
Docking branch until now used the opposite, aka ImClamp(size_desired, size_min, ImMax(size_min, size_max));, will be standardized across branches.
2025-05-19 18:42:28 +02:00
ocornut
cdb5cbe6f8
(Breaking) Commented out ImGuiListClipper::ForceDisplayRangeByIndices() which was obsoleted in 1.89.6.
...
Amend ecb0aaa
.
2025-05-15 17:44:27 +02:00
ocornut
d93d918eca
(Breaking) Commented out PushAllowKeyboardFocus()/PopAllowKeyboardFocus() which was obsoleted in 1.89.4. ( #3092 )
...
Amend e83fb46
.
2025-05-15 17:43:27 +02:00
ocornut
6d939fcedc
(Breaking) TreeNode: renamed ImGuiTreeNodeFlags_NavLeftJumpsBackHere to ImGuiTreeNodeFlags_NavLeftJumpsToParent for clarity. ( #1079 , #8639 )
2025-05-15 17:35:29 +02:00
ocornut
c90ea1315a
Viewports: added per-viewport FramebufferScale, Platform_GetWindowFramebufferScale() + Backends: GLFW, SDL2, SDL3, Apple: added support. ( #1065 , #1542 , #1676 , #1786 , #2826 , #3757 , #5081 , #5580 , #5592 , #6465 , #7273 , #7779 etc.)
...
)
Metal backend is not in charge of writing to DpiScale/FramebufferScale (tho it was a neat workaround).
2025-05-15 14:43:30 +02:00
ocornut
e33069ce56
Viewports: fallback DpiScale pulled from fallback Monitor for consistency.
...
Amend a4ebe3d5
, 95c4111
. (#8385 , #8401 , #8393 )
2025-05-12 09:22:22 +02:00
ocornut
1c8fad73f8
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
2025-05-07 15:24:46 +02:00
ocornut
afd3a36f69
Demo: added basic Fonts section under main demo (same as Metrics one) for visibility.
2025-05-05 19:39:56 +02:00
ocornut
f53de38e1f
Viewports, Backends: Debug logging.
2025-04-23 16:47:00 +02:00
ocornut
839e3274e1
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui.h
# imgui_widgets.cpp
2025-04-23 14:42:36 +02:00