Commit Graph

2242 Commits

Author SHA1 Message Date
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
omar
43e3ac0dc6 Docs: fixed unneeded usage of Build(). (#8883) 2025-08-13 15:17:53 +02:00
ocornut
02f654cbce Backends: Allegro5: fixed missing support for ImGuiKey_PrintScreen under Windows. 2025-08-12 20:02:08 +02:00
ocornut
e1baadba84 Backends: Allegro5: Fixed texture format setup. (#8770, #8465)
Amend/fix ee8941e.
2025-08-12 15:02:58 +02:00
ocornut
e1a93805db Backends: Allegro5: Added ImGui_ImplAllegro5_SetDisplay(). 2025-08-12 11:33:10 +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
e10300ed3c Docs: Special thanks. 2025-08-11 16:26:10 +02:00
ocornut
5a6fa33b88 Fixed an inconsistency between IsItemHovered() and internal hovering check, where IsItemHovered() would return true if mouse was first clicked on the background of a non-moveable window. (#8877) 2025-08-11 15:41:38 +02:00
ocornut
47c41483bd Tables, Nav: fixed navigation within scrolling tables when item boundaries goes beyond columns limits. (#8816, #2221)
Amend 00d3f9295e.
2025-08-11 10:49:20 +02:00
Ian
ea075ed973 ImVector: skip memcpy in operator= if Data isn't initialized to play nice with -fsanitize=undefined. (#8874) 2025-08-11 09:53:01 +02:00
ocornut
9ee3d731b5 Backends: SDL_GPU3: changed ImTextureID type from SDL_GPUTextureSamplerBinding* to SDL_GPUTexture*. Added ImGui_ImplSDLGPU3_RenderState. (#8866, #8163, #7998, #7988) 2025-08-08 15:51:16 +02:00
ocornut
1bf41a0762 Fonts, Tables: fixed PushFont() having no effect when called after submitting a hidden column. (#8865)
Amend 0e769c5
2025-08-07 16:16:12 +02:00
Elliot Prior
ff2dfc8422 Fonts: fixed a crash when modifying different texture format with a legacy backend. (#8824) 2025-08-04 18:39:30 +09:00
ocornut
7e701c18c8 Fonts: fixed an issue when a font using MergeMode has a reference size specified but the target font doesn't. 2025-08-04 18:21:38 +09:00
Michael Böhme
90025a62c7 Backends: Vulkan: Avoid calling vkCmdBindDescriptorSets() when texture has not changed. (#8666) 2025-08-04 18:10:00 +09:00
o:tone
70cfc02811 Examples: SDL3+SDL_GPU: use SDL_WaitAndAcquireGPUSwapchainTexture() instead of SDL_AcquireGPUSwapchainTexture(). (#8830) 2025-08-04 15:28:38 +09:00
ocornut
c14d83d4e0 Tabs: made scrolling buttons never keyboard/gamepad navigation candidates. 2025-08-04 15:12:23 +09: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
Christian Fillion
22fe9fce4c Textures: fixed assertion in DebugNodeTexture() when ImTextureID_Invalid is non-zero. (#8860, #8745)
ImFontAtlas's constructor resets ImTextureRef::_TexID to 0 instead of ImTextureID_Invalid.
Amend bc051dc
2025-08-04 14:10:20 +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
78d11cd781 Tabs: (Breaking) renamed ImGuiTabBarFlags_FittingPolicyResizeDown to ImGuiTabBarFlags_FittingPolicyShrink. (#261, #351)
Amend 54a60aaa40
2025-07-31 22:58:01 +09:00
ocornut
7278cda039 Tabs: added TabMinWidthBase, ImGuiStyleVar_TabMinWidthBase. 2025-07-31 22:57:11 +09:00
ocornut
046a8eae0f Tabs: fixed tab bar underline not drawing below scroll buttons. (#6820, #4859, #5022, #5239)
Fix ef8ff1b5d8 which accidentally meant we are using BarRect after it may have been modified by TabBarScrollingButtons().
2025-07-31 22:04:01 +09:00
ocornut
a0cdac48e0 Tables: fixed TableGetHoveredRow() (#7350, #6588, #6250) + TableGetRowIndex() which never correctly worked when using a clipper.
Amend e09454aec. Can't understand the comment nor why code was commented. Code looks alright. Compared TableEndRow() between 1.80 and current as well.
2025-07-31 13:21:26 +09:00
ocornut
c6c0c3be08 Docs: amend 1.92.0 logs on the fact that font->CalcTextSizeA() used to be thread-safe. 2025-07-27 20:15:21 +09:00
Miolith
853a46e021 Backends: Vulkan: fixed texture update corruption introduced in 1.92.0. (#8801, #8755, #8840, #8465)
Fix abe294bfd0
2025-07-27 19:33:30 +09:00
ocornut
19d1ad04f4 Fonts: stop using stb_truetype.h implementation functions. Fix using IMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION. (#8794) 2025-07-23 16:42:00 +09:00
ocornut
b884533957 Document/workaround an issue using IMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION since 1.92.0. (#8794) 2025-07-23 16:30:30 +09:00
ocornut
174f37bdaf Fixed building with IMGUI_DISABLE_DEBUG_TOOLS only. (#8796) 2025-07-23 16:17:35 +09:00
ocornut
4f00774006 Examples: SDL3+Metal: Amend example. (#8827, #8825)
Amend 8403c49
2025-07-23 16:11:47 +09:00
scribam
7babc24ad4 CI: Add SDL3 builds to MacOS and Windows. (#8819, #8778) 2025-07-22 16:52:20 +09:00
scribam
c96e9c8273 CI: Update Windows CI to use a more recent SDL2. (#8819, #8778) 2025-07-22 16:51:20 +09:00
Tim-Rex
4a51295c9e Backends: OpenGL3: add and call embedded loader shutdown in ImGui_ImplOpenGL3_Shutdown(). (#8792)
Include update of imgui_impl_opengl3_loader.h as submitted to gl3w_stripped repository, which adds imgl3wShutdown().
2025-07-22 16:46:35 +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
ea613e181c Windows: fixed an issue where resizable child windows would emit border logic when hidden/non-visible. (#8815)
This makes more sense in docking branch but may be merged in master right away.
2025-07-22 16:22:53 +09:00
Rhys Pounder
3401dbde92 Docs: Fixed typo. (#8817) 2025-07-21 15:42:16 +09:00
ocornut
8744d10235 Backends: OpenGL2, OpenGL3: set GL_UNPACK_ALIGNMENT to 1 before updating textures. (#8802) 2025-07-15 14:30:50 +02:00
ocornut
336d9212fc Backends: using range-for to iterate draw_data->CmdLists[]. 2025-07-11 17:41:52 +02:00
ocornut
79d88e2d0b Error Handling, Tables: TableGetSortSpecs() silently return NULL when no table (matching most other table getters). TableSetBgColor() uses IM_ASSERT_USER_ERROR. 2025-07-11 16:57:43 +02: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
Pascal Thomet
ed7d965818 Examples: GLFW+OpenGL3, GLFW+WGPU: Emscripten Makefiles uses port contrib.glfw3 (#8742)
This unofficial port offers a better support for HighDPI.
See
- https://emscripten.org/docs/compiling/Contrib-Ports.html
- https://github.com/pongasoft/emscripten-glfw
2025-07-08 15:57:22 +02:00
Pascal Thomet
18dca11dd0 Backends: GLFW, SDL2: ImplXXX_GetContentScaleXXX() helpers return 1.0f on emscripten / apple / android (#8742, #8733)
We can divide platforms into two cases based on how they report screen geometry:
- Case 1: Platforms which report screen size in "physical pixels": Windows (for "Dpi aware" apps), Linux (with Wayland)
- Case 2: Platforms which report screen size in "density-independent pixels": macOS, iOS, Android, emscripten

As a consequence, there are two important things we need to know:
- FramebufferScale: The scaling factor FrameBufferSize / ScreenSize
  - In case 1, the framebuffer size is equal to the screen size and DisplayFramebufferScale=1.
  - In case 2, the framebuffer size is equal to the screen size multiplied by a factor, for example DisplayFramebufferScale=2.
- ContentScale The scaling factor for the content that we will display
  - In case 1, the content scale will often need to be > 1 (e.g., 2), because we will need to display bigger elements so that they show with a correct physical size on the screen.
  - In case 2, the content scale is equal to 1
This commit fixes ContentScale for platforms in case 2.
2025-07-08 15:53:42 +02:00
ocornut
7c51c0e3de Docs: misc update. (#8727, #8764) 2025-07-08 11:59:32 +02:00
ocornut
c0d02e5ae4 Backends: Vulkan: forgot to update Changelog. (#8772) 2025-07-07 17:02:07 +02:00