Commit Graph
100 Commits
Author SHA1 Message Date
ocornut 505ff536f9 Textures: fixed an issue preventing multi-contexts from using each others' fonts if context 2 runs after context 1's Render() function. (#9039) 2025-10-31 16:38:27 +01:00
ocornut db577cd445 Fonts: rename internal fields for consistency. 2025-10-31 16:38:23 +01:00
ocornut 149587b85b Config/build infos emit infos to convey when IM_ASSERT() macro is disabled. 2025-10-30 18:03:36 +01:00
ocornut 670a92723a Move IM_STRINGIFY() to imgui.h 2025-10-30 17:47:06 +01:00
ocornut 130c3e6b75 Backends: Vulkan: tweak comments. (#9041) 2025-10-30 16:04:21 +01:00
ocornut 3c578fa87e InputText: restore truncating, now between UTF-8 codepoint. (#9029)
Amend e612536, 2a194e2.
2025-10-29 18:40:40 +01:00
ocornut 8df962a6ed Debug Tools: fixed DebugTextEncoding() potentially reading out of bounds if provided a trailing truncated UTF-8 sequence. 2025-10-29 17:58:52 +01:00
ocornut 2a194e21a0 InputText: revert truncation behavior from e612536 as it can truncate mid-UTF8. (#9029) 2025-10-29 17:24:23 +01:00
ocornut 9753c741b9 Disabled, ButtonBehavior: fixed a bug when a previously enabled item that got nav focus and then turns disabled could still be activated using keyboard. (#9036)
ButtonBehavior() was relying on lack of nav focus for keyboard handling
2025-10-29 16:43:27 +01:00
ocornut 7c483a0eba Add indentation to ButtonBehavior() - no logic change. 2025-10-29 16:39:37 +01:00
ocornut 0ba9fedf1a Win32: Revert 1.92.4 change of comparing dwPacketNumber. (#8556) 2025-10-29 16:29:47 +01:00
ocornut 2c54b15a5f Update ignore list. 2025-10-29 15:03:55 +01:00
ocornut 2a229c8cb8 Examples: SDL3+OpenGL3: fixed Emscripten makefile + ignore list.
Can't get this to run however.
2025-10-29 14:21:43 +01:00
ocornut 40f9e4e8e2 Windows: store BgClickFlags which allows the equivalent of io.ConfigWindowsMoveFromTitleBarOnly to be overridden on a per window basis. (#899, #3071, #5044, + #3379)
io.ConfigWindowsMoveFromTitleBarOnly now sets initial value for BgClickFlags. Using e.g. ImGui::GetCurrentWindow()->BgClickFlags &= ~ImGuiWindowBgClickFlags_Move; allow per-window override.
This will be extended for supporting scrolling options for #3379.
As a minor side effect: the effect of enabling io.ConfigWindowsMoveFromTitleBarOnly now happens one frame later ('window_modal_bounds_exceeding_work_area" test accidentally broke in some situations because of that)
2025-10-28 19:13:11 +01:00
ocornut 245e12cca7 Internals: tweak UpdateMouseMovingWindowEndFrame(). 2025-10-28 19:06:37 +01:00
ocornut 8019d39545 Shuffle a few internal context fields to reduce padding. 2025-10-28 19:06:36 +01:00
ocornut a1632c6116 InputText, Demo: amend comments to direct more users to the std::string version.
https://www.youtube.com/watch?v=pLwvNdpTpjs wasted a solid hour before finding this.
Crazy that people are using AI instead of actually _reading_ comments, demo and headers. (The information appeared multiple times on their screen)
2025-10-24 17:10:57 +02:00
ocornut c72d0b2cbb Backends: Vulkan: SwapChainImageUsage assume VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT which is added automatically. (#8946, #8110, #8111, #8686)
Merge bad3c14 which was accidentally only pushed to docking. No important side effect.
2025-10-23 21:04:48 +02:00
ocornut e6125361f9 InputText: paste does a truncate when not fitting instead of ignoring it. (#9029) 2025-10-23 20:53:29 +02:00
ocornut b7e45b3a48 InputText: rework STB_TEXTEDIT_INSERTCHARS() signature to allow partial insertion (unused). (#9029)
To be submitted as a PR to nothings/stb.
2025-10-23 20:19:16 +02:00
ocornut 6add99f8d2 Examples: SDL3+Vulkan: Fixed call to ImGui_ImplVulkanH_CreateOrResizeWindow() during resize. (#9030)
Surprisingly it still worked because ImGui_ImplVulkanH_CreateWindowSwapChain() pulls from `cap.currentExtent` when available.
2025-10-23 20:00:57 +02:00
ocornut 750c5d2a61 InputText: do not require anymore that CursorPos be clamped by user code. (#9029)
Add clamping outside of callback code + simplify logic. The previous logic checking for difference was because old code e.g. 21d03edcb0 required a ImTextCountCharsFromUtf8() which is not required since #7925.
2025-10-23 18:54:32 +02:00
ocornut e571ccf3f4 InputText: removed unnecessary variables. 2025-10-23 18:43:20 +02:00
ocornut b8573a7e33 Groups: fixed an issue reporting IsItemEdited() signal after EndGroup() for some widgets e.g. Checkbox(), Selectable(). (#9028) 2025-10-23 13:54:14 +02:00
ocornut bc5da9b367 Examples: DirectX10: Amends. (#8979) 2025-10-22 13:58:51 +02:00
ocornut b3dab0a406 Examples: DirectX10, DirectX11, DirectX12: comments about fullscreen mode and swapchain setup. (#8979) 2025-10-22 13:57:27 +02:00
ocornut 2a022d997b Examples: GLFW+WebGPU: removed unnecessary ImGui_ImplWGPU_InvalidateDeviceObjects() call during surface resize. (#8381)
+ Relayout changelog.
2025-10-22 13:42:23 +02:00
ocornut 5870b979a8 Examples: GLFW+WebGPU: fixed cmakefile for example to use legacy path. (#8381)
Amend 71447b94f
2025-10-22 13:39:00 +02:00
ocornut bdb8243602 Backends: SDl3: Fixed Platform_OpenInShellFn() return value. (#9027) 2025-10-22 13:33:36 +02:00
ocornut 63bfad401f MultiSelect: added ImGuiMultiSelectFlags_NoSelectOnRightClick. (#8200, #9015) 2025-10-20 18:58:45 +02:00
ocornut 4b1f5aba80 Examples: GLFW+WebGPU: moving blocks to simplify upcoming diff. (#8381) 2025-10-16 19:42:28 +02:00
ocornut 71447b94fb Examples: GLFW+WebGPU: default build to legacy for now. (#8381) 2025-10-16 18:23:02 +02:00
ocornut 36de604a5b InputText: avoid continuously overwriting ownership of ImGuiKey_Enter / ImGuiKey_KeypadEnter in order to allow e.g. external Shortcut to override behavior. (#9004) 2025-10-16 16:12:40 +02:00
ocornut 2a5e9a15e4 InputTextMultiline: fixed a crash when using ImGuiInputTextFlags_WordWrap and resizing the parent window while keeping the multi-line field active. (#9007, #3237) 2025-10-15 19:12:40 +02:00
ocornut d7fec5e1d3 Tables: fixed a bug where nesting BeginTable()->Begin()->BeginTable(). (#9005) 2025-10-15 16:50:11 +02:00
ocornut 7d8d587bc0 Version 1.92.5 WIP 2025-10-15 16:46:18 +02:00
ocornut 9a5d5c45f5 Version 1.92.4 2025-10-14 19:26:56 +02:00
ocornut 25e5baf5f0 (Breaking) Clipper: commented out legacy IncludeRangeByIndices name obsoleted in 1.89.9. (#6424, #3841) 2025-10-14 19:00:50 +02:00
ocornut c8db91b7b4 (Breaking) TreeNode, Selectable: commented out legacy ImGuiTreeNodeFlags_AllowItemOverlap, ImGuiSelectableFlags_AllowItemOverlap names obsoleted in 1.89.7.
Amend 51f564e
2025-10-14 19:00:49 +02:00
ocornut 702cc9993a Relaxed internal assert in MarkItemEdited() some more. (#8997)
Amend e7a734f78d, 5a2b1e8482
2025-10-14 16:31:38 +02:00
ocornut bad5ee167b Shortcuts: added support for combining ImGuiInputFlags_RouteFocused with ImGuiInputFlags_RouteOverActive,. (#9004) 2025-10-13 15:06:34 +02:00
ocornut b6e277980f Shortcuts: reorganize route scoring so values are easier to read. (#9004)
Score now require 16-bits but ImGuiKeyRoutingData doesn't grow size.
2025-10-13 15:06:32 +02:00
ocornut 878c863af4 Docs: reformat changlog entries. 2025-10-13 13:25:02 +02:00
ocornut 00251c8921 CI: disable PVS-Studio's --disableLicenseExpirationCheck 2025-10-13 12:01:10 +02:00
ocornut 5af650fc6d Examples: GLFW+WGPU: various tweaks to reduce diff with #8381 2025-10-09 19:24:17 +02:00
ocornut 2b770a029b InputText: fixed an infinite loop error happening if a custom input text callback modifies/clear BufTextLen before calling InsertChars(). (#8994, #3237)
+ misc comments.
2025-10-08 19:06:12 +02:00
ocornut bee2720faa Docs: clarify meaning/purpose of IMGUI_ENABLE_FREETYPE. (#8993) 2025-10-08 18:44:07 +02:00
ocornut fd0873c61f Test Engine: fixed mismatched macro signature when disabled.
The macro was actually unused in our code if IMGUI_ENABLE_TEST_ENGINE is not defined, but can affect third-party code.
2025-10-07 15:59:45 +02:00
ocornut ee3d16f150 Demo: fixed layout issue in "Layout & Scrolling -> Scrolling" section. 2025-10-06 18:39:10 +02:00
ocornut 4b858cf5d1 Made tooltip windows inherit parent. (#8982, #1345)
Intent here was for a manually focused tooltip to not steal title bar highlight.
2025-10-06 17:06:40 +02:00
ocornut 09e15e8c9d Nav: fixed typo. 2025-10-06 13:56:34 +02:00
ocornut 2128e2f44b Style: added ImGuiCol_UnsavedMarker. (#8983) 2025-10-06 12:16:48 +02:00
ocornut 27a9374ef3 Drag and Drop: added BeginDragDropTargetViewport(), still in imgui_internal.h for now. (#5204) 2025-10-03 19:06:23 +02:00
ocornut 1cdec11e24 Drag and Drop: rework RenderDragDropTargetRect() into RenderDragDropTargetRectForItem() and add RenderDragDropTargetRectEx(). (#1603, #5204) 2025-10-03 18:54:15 +02:00
ocornut 3ac624b795 Update FAQ.md typos. (#8862) 2025-10-03 18:26:06 +02:00
ocornut bcf722e637 Docs: updated FAQ "What is the difference between Dear ImGui and traditional UI toolkits?". (#8862) 2025-10-02 20:14:43 +02:00
ocornut 8c22b8aef6 Textures: allowed backend to destroy texture while inside the NewFrame/EndFrame scope. (#8811) 2025-10-01 18:39:40 +02:00
ocornut fc4105c8a8 Backends: DX9,DX10,DX11,DX12,Metal,Vulkan,WGPU,SDLRenderer2,SDLRenderer3: ensure that a texture in _WantDestroy state always turn to _Destroyed. (#8977)
Amend 9809b0b. Strictly speaking this is not necessary anymore but it seems generally sane to promote this.
2025-10-01 17:49:22 +02:00
ocornut ea564a6a5e Textures: fixed a crash if a texture marked as _WantDestroy by a backend after it had already been destroyed. (#8977, #8811) 2025-10-01 17:40:20 +02:00
ocornut 9809b0b061 Textures: Fixed not updating ImTextureData's RefCount when destroying a context using a shared ImFontAtlas. (#8975) 2025-10-01 14:59:53 +02:00
ocornut b987970870 Textures: fixed an issue preventing multi-contexts sharing a ImFontAtlas from being possible to destroy in any order. 2025-10-01 14:59:40 +02:00
ocornut 3dafd9e898 Backends: DirectX12: enable swapchain tearing if available. (#8965) 2025-09-29 18:36:13 +02:00
ocornut 5cd83e689e Backends: DirectX12: amend changelog to clarify fixes. (#3463, #5018) 2025-09-29 16:34:27 +02:00
ocornut 3ff195f702 Backends: DX12: let bd->FrameIndex start at 0 to match docking. (#8961) 2025-09-29 16:12:33 +02:00
ocornut e459e5bf0a Backends: GLFW: fixed build on platform that are neither Windows, macOS or known Unixes. (#8969, #8920, #8921)
Fix 10d0162.

x
2025-09-29 16:12:33 +02:00
ocornut 1c87024840 InputText: fixed single-line InputText() not applying fine character clipping properly (regression in 1.92.3). (#8967) 2025-09-29 13:38:27 +02:00
ocornut 3470e6112b (Breaking) Backends: Vulkan: moved fields in ImGui_ImplVulkan_InitInfo: RenderPass, Subpass, MSAASamples, PipelineRenderingCreateInfo. (#8946, #8110, #8111, #8686) 2025-09-26 18:23:51 +02:00
ocornut e312b99296 (Breaking) Backends: Vulkan: renamed ImGui_ImplVulkan_MainPipelineCreateInfo to ImGui_ImplVulkan_PipelineInfo. (#8110, #8111) 2025-09-26 18:18:33 +02:00
ocornut cc0a6690bf Backends: Vulkan: minor internal renames/tweaks to reduce further patches. (#8946, #8110, #8111, #8686) 2025-09-26 18:12:47 +02:00
ocornut 5fe962216a (Breaking) Backends: Vulkan: added 'VkImageUsageFlags image_usage' parameter to ImGui_ImplVulkanH_CreateOrResizeWindow(). (#8946, #8110, #8111, #8686)
Default to VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT.
2025-09-26 18:12:47 +02:00
ocornut bf2e0b2c6f Tables: change ImGuiTableFlags_NoBordersInBody behavior to not draw border in body even when resizing. (#8893) 2025-09-25 19:07:59 +02:00
ocornut cee40f8af9 Examples: made examples's main.cpp consistent with returning 1 on error. 2025-09-24 17:48:48 +02:00
ocornut 940627d008 Backends: SDL2: Fixed build for Emscripten and SDL_HAS_CAPTURE_AND_GLOBAL_MOUSE=0 platforms.
Amend e06b5df.
2025-09-24 15:29:00 +02:00
ocornut 719ea9c228 Comments 2025-09-24 15:00:24 +02:00
ocornut f61a7ef222 Backends: SDL2,SDL3: avoid using the SDL_GetGlobalMouseState() path when one of our window is hovered. Fix mouse coordinate issue in fullscreen apps with macOS notch + better X11 perfs. (#7919, #7786) 2025-09-24 14:48:33 +02:00
ocornut e06b5dfe12 Backends: SDL2,SDL3: Shallow tweaks.
Toward fallback focused mouse handler to be a closer match docking version.
2025-09-24 14:41:10 +02:00
ocornut e1aea42e45 Windows: add resize grips for child windows with both ResizeX+ResizeY. Amends. (#8501) 2025-09-23 16:55:37 +02:00
ocornut 5f6eaa5278 Backends: Win32: minor optimization not submitting gamepad input if packet number has not changed. (#8556)
To be honest I don't believe this is valuable as an optimization, but it makes debug stepping a little nicer.
2025-09-23 16:30:07 +02:00
ocornut d701ffb478 Examples: added SDL3+DirectX11 example. Minor amends + fix both SDL2/SDL3+DirectX11 to allow WARP driver. (#8956, #8957) 2025-09-22 21:38:33 +02:00
ocornut 301e652376 Backends: OpenGL3: fixed GL loader to work on Haiku OS which does not support. (#8952) 2025-09-22 16:04:59 +02:00
ocornut dc0198a7e4 CI: update Windows Vulkan scripts. Amends. (#8925) 2025-09-22 12:45:18 +02:00
ocornut 46e6382b69 Added type formatters for the LLDB debuggers (e.g. Xcode, Android Studio) (#8950) 2025-09-22 12:26:53 +02:00
ocornut d4f722d5b2 IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). (#8945, #2769) 2025-09-18 16:58:50 +02:00
ocornut 0e7cd694eb Version 1.92.4 WIP 2025-09-18 15:38:46 +02:00
ocornut bf75bfec48 Amend f6890ed mostly to please static analyzers. 2025-09-17 19:05:22 +02:00
ocornut 1c544ee941 Version 1.92.3 2025-09-17 18:37:56 +02:00
ocornut 70a43f3088 Fixed build with IMGUI_ENABLE_TEST_ENGINE. 2025-09-17 18:12:32 +02:00
ocornut 9cf9d2be83 Debug Tools: ID Stack Tool: fixed a crash when using PushOverrideID(0) during a query. (#8937, #4631) 2025-09-17 18:06:45 +02:00
ocornut 7e473d38d3 Debug Tools: ID Stack Tool: internal renaming (should be no-op). 2025-09-17 18:06:45 +02:00
ocornut 6d834d325e Debug Tools: ID Stack Tool: fixed misleading/unnecessary run of UpdateDebugToolStackQueries() on first frame. (#4631)
`if (g.FrameCount != tool->LastActiveFrame + 1)` test failing on first frame.
Was not harmful but probably confusing in a debugger.
2025-09-17 18:06:45 +02:00
ocornut f6890ed007 Nav, Inputs: fixed a crash that could occur when opening a popup following the processing of a global shortcut while no windows were focused.
Regression test: "window_popup_from_shortcut"
2025-09-17 16:41:40 +02:00
ocornut 431f2c5abd InputText: fixed dubious code handling ImGuiInputTextFlags_EscapeClearsAll.
Specifically the missing = 0. Somehow only now got reported by Emscripten CI.
2025-09-15 19:32:24 +02:00
ocornut 6274ca4266 Backends: GLFW: fixed build for Emscripten which doesn't expose glfw3native.h.
Amend 10d0162
2025-09-15 19:28:01 +02:00
ocornut d92c8c6aff Backends: SDL2: Content Scales are always reported as 1.0 on Wayland. (#8921)
SDL_GetDisplayDPI() seems generally broken on X11/Wayland, but our logs shows that on Wayland we get both a content scale from SDL_GetDisplayDPI() and a framebuffer scale.
2025-09-15 19:20:56 +02:00
ocornut 72c00f39c1 Backends: GLFW: fix ImGui_ImplGlfw_IsWayland() amend broken 10d0162. (#8921, #8920)
Accidentally broke this while shuffling code...
2025-09-15 19:16:05 +02:00
ocornut 2675b7ca26 Backends: GLFW: Content Scales always reported as 1.0 on Wayland, FramebufferScale always reported as 1.0 on X11. (#8920, #8921) 2025-09-15 18:55:09 +02:00
ocornut 10d0162378 Backends: GLFW: added ImGui_ImplGlfw_IsWayland(). (#8921, #8920)
(technically presently untested but we've researched this)
2025-09-15 18:40:22 +02:00
ocornut 3c6c5692b8 Examples: Win32+Vulkan, GLFW+Metal: Fixed not applying content scale. (#8921, #8756)
Somehow it breaks in Win32+OpenGL3 example: when enabled Win32 applies some extra scale.
2025-09-15 16:50:58 +02:00
ocornut e044d99710 Examples: standardized all examples to have a base window size of 1280x800. 2025-09-15 16:34:36 +02:00
ocornut 22a6a83c54 Backends: SDL3: use SDL_GetWindowDisplayScale() on Mac to output DisplayFrameBufferScale. The function is more reliable during resolution changes e.g. going fullscreen. (#8703, #4414) 2025-09-15 15:16:42 +02:00