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
ocornut
cd476b27f8
Examples: GLFW+Vulkan: Fixed not applying content scale. ( #8921 , #8756 )
2025-09-12 21:32:46 +02:00
ocornut
9f13684d70
Examples: GLFW+OpenGL2: Fixed not applying content scale. ( #8921 )
...
Note that this requires GLFW 3.3.
2025-09-12 20:57:04 +02:00
ocornut
6d25cb844b
CI: switch iOS build to macos-14 runner as macos-latest currently fails.
2025-09-12 16:41:05 +02:00
ocornut
36133d8ac4
InputText: Word-Wrap: hide vertical scrollbar but takes its width into account. ( #3237 , #952 , #1062 , #7363 )
...
Also increase IMGUI_VERSION_NUM for good measure, forgot to increase it when moving to public api.
2025-09-12 16:03:18 +02:00
ocornut
b6a33f8ce1
InputText: Word-Wrap: amend 7f1e2bb to avoid triggering static analyzer. ( #3237 , #952 , #1062 , #7363 )
...
And generally more logical this way anyhow.
2025-09-12 15:05:23 +02:00
ocornut
78c1d4a92c
InputText: Word-Wrap: moving ImGuiInputTextFlags_WordWrap to public API. Added in demo. ( #3237 , #952 , #1062 , #7363 )
2025-09-12 15:03:33 +02:00
ocornut
7f1e2bb8dd
InputText: Word-Wrap: avoid word-wrap specific path InputTextLineIndexGetPosOffset() when word-wrap is disabled. ( #3237 , #952 , #1062 , #7363 )
2025-09-12 15:03:33 +02:00
ocornut
2f3e85bc37
Comments
2025-09-12 15:03:33 +02:00
ocornut
8a94422246
InputText: optimize inactive path by avoiding an early ImStrlen().
2025-09-11 21:26:10 +02:00
ocornut
ae832ce532
InputText: moved blocks so same text rendering code is now used for active and inactive states.
...
(ignore whitespace to visualize this change easily)
2025-09-11 21:26:04 +02:00
ocornut
1e52e7b90c
InputText: Added a line index. Refactored cursor and selection rendering, now simpler, easier to reason about, and faster. ( #3237 , #952 , #1062 , #7363 )
2025-09-11 21:26:01 +02:00
ocornut
67085d732a
ImGuiTextIndex: rename member.
2025-09-11 21:25:56 +02:00
ocornut
f36c65661c
InputText: fixed pressing End (without Shift) in a multi-line selection from mistakenly moving cursor based on selection start.
2025-09-11 18:45:07 +02:00
ocornut
e2b7d84e96
CI: disable pvs-studio 28 days warning (amend).
2025-09-11 15:15:48 +02:00
ocornut
271f476d08
CI: disable pvs-studio 28 days warning.
2025-09-11 15:12:51 +02:00
ocornut
e2f314d613
InputText: fixed misassignment to unused Scroll.y variable when using ImGuiInputTextFlags_NoHorizontalScroll.
...
Amend d474ed7f7 (#7913 , #383 )
2025-09-11 15:06:25 +02:00
ocornut
8eb22ea620
Demo: ShowStyleSelector(), ShowFontSelector(): remove ImGuiSelectableFlags_NoAutoClosePopups for now.
...
In this situation we kinda want keyboard Enter to select and close but ideally not click. We don't have separate options yet.
2025-09-10 22:42:12 +02:00
ocornut
55f590c1d1
Selectable: ImGuiSelectableFlags_SelectOnNav doesn't select when holding Ctrl, to be consistent with multi-select.
...
Amend e66afbb + remove needless line in CloseCurrentPopup() block
2025-09-10 22:29:42 +02:00
ocornut
013c4ed476
InputText: fixed gross buffer underflow introduced by a82f66a. ( #3237 , #952 , #1062 , #7363 )
...
Would typically not crash by detected by sanitinizers.
2025-09-10 19:00:05 +02:00
ocornut
2f1d1c8b2f
Focus, InputText: fixed an issue where SetKeyboardFocusHere() did not work on InputTextMultiline() with ImGuiInputTextFlags_AllowTabInput. ( #8928 )
2025-09-10 18:31:34 +02:00
ocornut
1cd08b883c
TabBar: fixed calling TabBarQueueFocus() before submitting tabs. ( #8929 , #6681 )
2025-09-10 18:03:34 +02:00
ocornut
4e98fb20e2
TabBar: Internals: added TabBarFindByID(), TabBarRemove() helpers.
...
Currently only for the benefit of TestEngine.
2025-09-10 17:59:26 +02:00
ocornut
045645e5f1
Demo: tweaked ShowFontSelector() and ShowStyleSelector() to update selection while navigating and to not close popup automatically.
2025-09-09 17:50:40 +02:00
ocornut
8e4955bb23
Selectable: moved ImGuiSelectableFlags_SelectOnNav to public API.
2025-09-09 17:42:14 +02:00
ocornut
e66afbbbe0
Selectable: ImGuiSelectableFlags_SelectOnNav doesn't close popups.
2025-09-09 17:33:03 +02:00
ocornut
2841c5135d
Backends: OpenGL3: add GL_NEAREST and samplers functions in loader.
2025-09-08 17:24:39 +02:00
ocornut
bf52f4a83c
Backends: OpenGL3: added HasBindSampler storage for readability and consistency.
2025-09-08 17:23:48 +02:00
ocornut
14e076c5bb
Backends: Internal renaming of samplers.
2025-09-08 16:02:23 +02:00
ocornut
ea8a5a9e17
DrawList: made AddCallback() assert when passing a null callback.
2025-09-08 15:20:18 +02:00
ocornut
230418a75d
InputText: Word-Wrap: attempt to track cursor while resizing frame/parent. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:22 +02:00
ocornut
16415aa39f
InputText: Word-Wrap: added custom implementation for Home/End that is word-wrap friendly. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:22 +02:00
ocornut
985723ed94
InputText: Word-Wrap: mouse clicks on word-wrapping points set cursor side correctly. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:22 +02:00
ocornut
a82f66a9b0
InputText: Word-Wrap: added ImGuiInputTextFlags_WordWrap support. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:56:20 +02:00
ocornut
e422a38e4c
InputText: internals: expose LineCount, GetPreferredOffsetX().
2025-09-08 11:54:34 +02:00
ocornut
11fff1ccf5
ImFont::RenderText() takes ImDrawTextFlags_CpuFineClip instead of bool cpu_fine_clip + forward ImDrawTextFlags to word-wrap code.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
3cc7d1c81a
InputText: InputTextCalcTextSize() uses ImFontCalcTextSizeEx().
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
56189cd814
Internals: added ImDrawTextFlags_StopOnNewLine support to ImFontCalcTextSizeEx(), ImDrawTextFlags_WrapKeepTrailingBlanks to ImTextCalcWordWrapNextLineStart().
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
a9945899c6
stb_textedit: extracted stb_textedit_move_line_start()/stb_textedit_move_line_end(), adding STB_TEXTEDIT_MOVELINESTART,STB_TEXTEDIT_MOVELINEEND support. ( #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
bc6478f651
Internals: added ImDrawTextFlags_WrapKeepTrailingBlanks required for text-edit style word-wrapping.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
34ab6c8a89
Internals: extracted ImFont::CalcTextSizeA() into ImFontCalcTextSizeEx() so we can make change to its signature.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
c63b5bd8fb
Internals: extracted ImFont::CalcWordWrapPosition() into ImFontCalcWordWrapPositionEx() so we can make change to its signature.
...
(for #3237 , #952 , #1062 , #7363 )
2025-09-08 11:54:33 +02:00
ocornut
8a35ce0e98
CalcWordWrapPosition() breaks on \n instead of relying on caller to do it + expose ImTextCalcWordWrapNextLineStart(). ( #3237 , #952 , #1062 , #7363 )
...
Should be functional no-op, fingers crossed. Breaking on \n allows caller to count lines reliably.
2025-09-08 11:54:32 +02:00
ocornut
02af06ea5f
Backends: Vulkan: rewrite pColorAttachmentFormats deep-copy to avoid issues when calling multiple times. ( #8282 , #8110 )
2025-09-04 18:14:28 +02:00
ocornut
026d47cd35
Backends: Vulkan: store pColorAttachmentFormats deep-copy into an ImVector. ( #8282 , #8110 )
2025-09-04 18:05:58 +02:00
ocornut
c63714822f
Backends: Vulkan: reorder InitInfo fields.
2025-09-04 18:05:15 +02:00
ocornut
26aa81a8b1
Backends: Vulkan: misc amends (makes ImGui_ImplVulkan_MainPipelineCreateInfo::PipelineRenderingCreateInfo consistent with InitInfo). ( #8110 , #8111 , #8053 )
2025-09-04 18:05:15 +02:00