Ben Carter
c412a43a4a
Shadows: Added experimental texture-based shadows (stripped of dynamic tex config and back-end code)
...
(merged 10 commits, removing dynamic tex config, moved tex config to internal structs, removed back-end changes)
(squashed 2025-06-11, fixed conflict, doesn't build as-is)
Shadows: Added IMGUI_HAS_SHADOWS
Shadows: Demo code in Custom Rendering section. Added AddShadowRectFilled() variant. BeginMainMenuBar() disable shadows.
Shadows: Added initial version of convex shape shadow code.
(+stripped out of original polygon generation demo, moved to imgui_dev)
Shadows: Tweak demo to use AddShadowCircle() functions + fix warnings.
(+ stripped old polygon generation code from commits)
Shadows: Convex shape shadow improvement/fixes
- Fixed pixel cracking on convex shadow edges
- Added convex shadow offset support
- Fixed some convex shadow fringing issues
- Added convex shadow demo code
Shadows: Added ImDrawShadowFlags, simplified API surface, reordered parameters
+ fix minor warnings
+ removed NGon variant for now.
Shadows: Re-added AddShadowNGon().
Shadows: Shallow styling tweaks and renaming for consistency.
Shadows: Fixes + two fixes for PVS Studio static analyzer.
Shadows: Fix for latest, reuse ImDrawList, remove ImDrawShadowFlags.
Shadows: Fix to support for colored-only font atlas. (4202)
Shadows: Fix broken shadows due to zero-clear added in 9417acc2
.
Shadows: remove use of GetWindowContentRegionMax().
2025-08-13 17:34:00 +02:00
ocornut
45acd5e0e8
Version 1.92.2b
2025-08-13 17:31:01 +02:00
ocornut
774ddb58bd
Fixed IsItemHovered() failing on disabled items and items that have no identifier. Made holding on disabled items not leak IsItemDisabled() between disabled items when window has _NoMove. ( #8877 , #8883 )
...
See amends to "widgets_status_common", "widgets_disabled_2" tests.
2025-08-13 17:08:04 +02:00
ocornut
4dee11a089
Make ImGuiInputSource int.
...
(primarily to avoid "result of comparison 'ImGuiInputSource' < 0 is always false" in GetInputSourceName().
2025-08-13 17:02:23 +02:00
ocornut
af920e1e6f
Version 1.92.3 WIP
2025-08-12 11:30:41 +02:00
ocornut
2b24f5fa71
Version 1.92.2
2025-08-11 16:47:06 +02:00
ocornut
7d5fef8642
Nav: fixed a bug where GamepadMenu couldn't toggle between main and menu layer while navigating a Modal window. ( #8834 )
...
Amend 901d432cb
but for Gamepad.
2025-08-04 15:06:14 +09:00
ocornut
320c94bfaa
Tabs: when scrolling is enabled, track selected tabs when resizing down parent container. ( #3421 , #8800 )
2025-07-31 23:42:30 +09:00
ocornut
3ef6c8410a
Tabs: added new fitting policy ImGuiTabBarFlags_FittingPolicyMixed, new default. ( #3421 , #8800 )
2025-07-31 23:42:25 +09:00
ocornut
7278cda039
Tabs: added TabMinWidthBase, ImGuiStyleVar_TabMinWidthBase.
2025-07-31 22:57:11 +09:00
ocornut
2ab3946ecb
Windows: add StopMouseMovingWindow(), partial merge 80d78fa
from docking.
2025-07-30 18:46:49 +09:00
gomkyung2
9c392896b7
Misc: removed more redundant inline static linkage from imgui_internal.h. ( #8813 , #8682 , #8358 )
2025-07-22 16:31:10 +09:00
ocornut
ed5bd1f9ef
Changed ImTextCharToUtf8() to return bytes count rather than original pointer. ( #8820 )
...
Amend c2bf4abfa1
2025-07-22 14:17:11 +09:00
ocornut
a0d3e405a3
Textures: ImTextureData::Create() sets status. RegisterUserTexture() increases RefCount. Added comments about ImTextureData::GetTexRef(). ( #8789 )
2025-07-11 16:49:28 +02:00
ocornut
0e6e876f23
Docs: update docs/comments about ImTextureRef, ImTextureID. ( #8783 )
2025-07-10 19:07:28 +02:00
ocornut
4d745bc602
Version 1.92.2 WIP
2025-07-10 18:41:05 +02:00
ocornut
5d4126876b
Version 1.92.1
2025-07-09 18:53:58 +02:00
ocornut
0ba02a4ed6
Debug Tools: added IMGUI_DEBUG_HIGHLIGHT_ALL_ID_CONFLICTS. ( #8651 , #7961 , #7669 )
2025-07-09 18:45:58 +02:00
ocornut
f39b138487
Internals: rename DebugDrawIdConflicts -> DebugDrawIdConflictsId.
2025-07-09 18:24:14 +02:00
ocornut
d9b758661f
Misc comments to facilitate update for people who nilly-willy copied entire chunks of internal widgets to create their own.
2025-07-09 16:30:53 +02:00
ocornut
fd75bdccb0
Fonts: for large size fonts, layout/size calculation only load glyphs metrics. Actual glyphs are renderer+packed when used by drawing functions. ( #8758 , #8465 )
...
(Breaking) breaks signature of ImFontLoader::FontBakedLoadGlyph, sorry.
2025-06-30 21:16:20 +02:00
ocornut
51b3495ad8
Fonts: set a maximum font size of 512.0f at ImGui:: API level to reduce edge cases.
2025-06-30 21:04:55 +02:00
ocornut
8c61ee5498
Tables: fixed comments about DisableDefaultContextMenu. ( #8746 )
2025-06-29 18:05:28 +02:00
ocornut
f18aea5246
Version 1.92.1 WIP
2025-06-27 13:30:45 +02:00
ocornut
673eb7de96
Version 1.92.0
2025-06-25 18:19:56 +02:00
ocornut
97e0d59619
(Breaking) Fonts: removed PushFontSize(), PopFontSize().
2025-06-24 19:09:51 +02:00
ocornut
2f9c518ca8
Textures: ImTextureData::GetPixels() returns void* for clarity.
2025-06-20 15:17:13 +02:00
ocornut
08bb348142
Misc: removed static linkage from operators to facilitate using in C++ modules. ( #8682 , #8358 )
2025-06-17 17:09:26 +02:00
ocornut
041abe8522
Revert "Misc: removed static linkage from operators to facilitate using in C++ modules. ( #8682 , #8358 ) [@radjkarl]"
...
This reverts commit 39a90ac4d6
.
2025-06-17 14:57:39 +02:00
ocornut
39a90ac4d6
Misc: removed static linkage from operators to facilitate using in C++ modules. ( #8682 , #8358 ) [@radjkarl]
2025-06-17 14:52:34 +02:00
ocornut
24f7328e5f
DrawList, Fonts: fixed ImFontAtlasTextureRepack() overwriting draw list shared data UV's etc. even when not bound. ( #8694 , #8465 )
...
ImFontAtlasUpdateDrawListsSharedData() call from ImFontAtlasTextureRepack() would trigger this.
For simplicity we also track current atlas in ImDrawListSharedData, but we could probably use Font->ContainerAtlas.
2025-06-17 12:06:05 +02:00
ocornut
cfa43e721a
Windows: clicking on a window close button doesn't claim focus and bring to front. ( #8683 )
...
Added ImGuiItemFlags_NoFocus, ImGuiButtonFlags_NoFocus. Neither are well specified so marking as experimental.
2025-06-13 17:40:17 +02:00
ocornut
41f4acfb4f
Fonts: add has_textures parameters to ImFontAtlasUpdateNewFrame().
2025-06-12 11:44:11 +02:00
ocornut
2e67bd4de7
Fonts: rename to ImFontAtlasBuildLegacyPreloadAllGlyphRanges().
2025-06-11 16:25:06 +02:00
ocornut
2d2b1cee6b
Fonts: internals: renamed g.FontSizeBeforeScaling to g.FontSizeBase for consistency.
...
# Conflicts:
# imgui_internal.h
2025-06-11 16:10:45 +02:00
ocornut
3c27c643a9
Fonts: internals: renamed g.FontScale to g.FontBakedScale for clarity. Comments.
2025-06-11 16:10:18 +02:00
ocornut
8766efcba6
(Breaking) Renamed io.FontGlobalScale to style.FontScaleMain.
...
# Conflicts:
# imgui.cpp
2025-06-11 16:07:21 +02:00
ocornut
1e118ab891
Fonts: added ImGuiStyle::FontSizeBase. Ensuring PushFontSize() works before main loop and across NewFrame().
...
# Conflicts:
# imgui.cpp
2025-06-11 16:06:21 +02:00
ocornut
e3860aa6ac
(Breaking) Fonts: removing obsolete ImFont::Scale.
2025-06-11 16:05:54 +02:00
ocornut
25f9c318e3
Fonts: added "Input Glyphs Overlap Detection Tool". Added "Clear bakes", "Clear unused" buttons. Move code.
2025-06-11 16:05:54 +02:00
ocornut
5926c877a1
Fonts: detect if ImFontAtlasUpdateNewFrame() is not being called.
2025-06-11 16:05:54 +02:00
ocornut
83aad81279
Fonts: comments + made IMGUI_DEBUG_LOG_FONT() work without an ImGui context.
2025-06-11 16:02:10 +02:00
ocornut
f3780c7354
Fonts: adding GetFontBaked() in public API.
2025-06-11 16:02:10 +02:00
ocornut
92ff153763
Fonts: added notes/comments and dummy type about renaming ImFontBuilderIO::GetBuilderForFreeType() to ImFontLoader::GetFontLoader().
2025-06-11 16:02:10 +02:00
ocornut
3d848a886a
Fonts: fixed support for IMGUI_STB_NAMESPACE.
2025-06-11 16:02:10 +02:00
ocornut
1b51a88bba
Fonts: moved compare operators to internal. Removed commented out ones aimed legacy backends: not needed anymore since we didn't rename ImTextureID.
2025-06-11 15:59:20 +02:00
ocornut
39f6c793b3
Fonts: proof of concept support for user textures.
...
# Conflicts:
# imgui.h
# imgui_internal.h
2025-06-11 15:59:19 +02:00
ocornut
91ed6e67b4
Fonts: fixed support for multiple atlases.
...
Moved FontAtlasOwnedByContext to OwnerContext
# Conflicts:
# imgui.cpp
# imgui_internal.h
2025-06-11 15:58:29 +02:00
ocornut
65e6039979
Fonts: remove unnecessary ImDrawListSharedData::FontAtlas which is actually getting in the way of using multiple atlases.
2025-06-11 15:57:44 +02:00
ocornut
46fa9e8efb
Fonts: Debug display status. Fixed truncated raw texture id. Fixed FormatTextureIDForDebugDisplay(). Comments.
2025-06-11 15:57:35 +02:00