2022-03-11 22:44:06 -06:00
// Dear ImGui: standalone example application for DirectX 12
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// Learn about Dear ImGui:
// - FAQ https://dearimgui.com/faq
// - Getting Started https://dearimgui.com/getting-started
// - Documentation https://dearimgui.com/docs (same as your local docs/ folder).
// - Introduction, links and more at the top of imgui.cpp
2022-03-11 22:44:06 -06:00
// Important: to compile on 32-bit systems, the DirectX12 backend requires code to be compiled with '#define ImTextureID ImU64'.
// This is because we need ImTextureID to carry a 64-bit value and by default ImTextureID is defined as void*.
// This define is set in the example .vcxproj file and need to be replicated in your app or by adding it to your imconfig.h file.
# include "imgui.h"
# include "imgui_impl_win32.h"
# include "imgui_impl_dx12.h"
# include <d3d12.h>
# include <dxgi1_4.h>
# include <tchar.h>
# ifdef _DEBUG
# define DX12_ENABLE_DEBUG_LAYER
# endif
# ifdef DX12_ENABLE_DEBUG_LAYER
# include <dxgidebug.h>
# pragma comment(lib, "dxguid.lib")
# endif
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
# include "imgui_internal.h"
2022-03-11 22:44:06 -06:00
struct FrameContext
{
ID3D12CommandAllocator * CommandAllocator ;
UINT64 FenceValue ;
} ;
// Data
static int const NUM_FRAMES_IN_FLIGHT = 3 ;
static FrameContext g_frameContext [ NUM_FRAMES_IN_FLIGHT ] = { } ;
static UINT g_frameIndex = 0 ;
static int const NUM_BACK_BUFFERS = 3 ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
static ID3D12Device * g_pd3dDevice = nullptr ;
static ID3D12DescriptorHeap * g_pd3dRtvDescHeap = nullptr ;
static ID3D12DescriptorHeap * g_pd3dSrvDescHeap = nullptr ;
static ID3D12CommandQueue * g_pd3dCommandQueue = nullptr ;
static ID3D12GraphicsCommandList * g_pd3dCommandList = nullptr ;
static ID3D12Fence * g_fence = nullptr ;
static HANDLE g_fenceEvent = nullptr ;
2022-03-11 22:44:06 -06:00
static UINT64 g_fenceLastSignaledValue = 0 ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
static IDXGISwapChain3 * g_pSwapChain = nullptr ;
static bool g_SwapChainOccluded = false ;
static HANDLE g_hSwapChainWaitableObject = nullptr ;
2022-03-11 22:44:06 -06:00
static ID3D12Resource * g_mainRenderTargetResource [ NUM_BACK_BUFFERS ] = { } ;
static D3D12_CPU_DESCRIPTOR_HANDLE g_mainRenderTargetDescriptor [ NUM_BACK_BUFFERS ] = { } ;
// Forward declarations of helper functions
bool CreateDeviceD3D ( HWND hWnd ) ;
void CleanupDeviceD3D ( ) ;
void CreateRenderTarget ( ) ;
void CleanupRenderTarget ( ) ;
void WaitForLastSubmittedFrame ( ) ;
FrameContext * WaitForNextFrameResources ( ) ;
LRESULT WINAPI WndProc ( HWND hWnd , UINT msg , WPARAM wParam , LPARAM lParam ) ;
// Main code
int main ( int , char * * )
{
// Create application window
//ImGui_ImplWin32_EnableDpiAwareness();
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
WNDCLASSEXW wc = { sizeof ( wc ) , CS_CLASSDC , WndProc , 0L , 0L , GetModuleHandle ( nullptr ) , nullptr , nullptr , nullptr , nullptr , L " ImGui Example " , nullptr } ;
: : RegisterClassExW ( & wc ) ;
HWND hwnd = : : CreateWindowW ( wc . lpszClassName , L " Dear ImGui DirectX12 Example " , WS_OVERLAPPEDWINDOW , 100 , 100 , 1280 , 800 , nullptr , nullptr , wc . hInstance , nullptr ) ;
2022-03-11 22:44:06 -06:00
// Initialize Direct3D
if ( ! CreateDeviceD3D ( hwnd ) )
{
CleanupDeviceD3D ( ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
: : UnregisterClassW ( wc . lpszClassName , wc . hInstance ) ;
2022-03-11 22:44:06 -06:00
return 1 ;
}
// Show the window
: : ShowWindow ( hwnd , SW_SHOWDEFAULT ) ;
: : UpdateWindow ( hwnd ) ;
// Setup Dear ImGui context
IMGUI_CHECKVERSION ( ) ;
ImGui : : CreateContext ( ) ;
ImGuiIO & io = ImGui : : GetIO ( ) ; ( void ) io ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
io . ConfigFlags | = ImGuiConfigFlags_NavEnableKeyboard ; // Enable Keyboard Controls
io . ConfigFlags | = ImGuiConfigFlags_NavEnableGamepad ; // Enable Gamepad Controls
io . ConfigFlags | = ImGuiConfigFlags_DockingEnable ; // Enable Docking
io . ConfigFlags | = ImGuiConfigFlags_ViewportsEnable ; // Enable Multi-Viewport / Platform Windows
2022-03-11 22:44:06 -06:00
//io.ConfigViewportsNoAutoMerge = true;
//io.ConfigViewportsNoTaskBarIcon = true;
// Setup Dear ImGui style
ImGui : : StyleColorsDark ( ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
//ImGui::StyleColorsLight();
2022-03-11 22:44:06 -06:00
// When viewports are enabled we tweak WindowRounding/WindowBg so platform windows can look identical to regular ones.
ImGuiStyle & style = ImGui : : GetStyle ( ) ;
if ( io . ConfigFlags & ImGuiConfigFlags_ViewportsEnable )
{
style . WindowRounding = 0.0f ;
style . Colors [ ImGuiCol_WindowBg ] . w = 1.0f ;
}
// Setup Platform/Renderer backends
ImGui_ImplWin32_Init ( hwnd ) ;
ImGui_ImplDX12_Init ( g_pd3dDevice , NUM_FRAMES_IN_FLIGHT ,
DXGI_FORMAT_R8G8B8A8_UNORM , g_pd3dSrvDescHeap ,
g_pd3dSrvDescHeap - > GetCPUDescriptorHandleForHeapStart ( ) ,
g_pd3dSrvDescHeap - > GetGPUDescriptorHandleForHeapStart ( ) ) ;
// Load Fonts
// - If no fonts are loaded, dear imgui will use the default font. You can also load multiple fonts and use ImGui::PushFont()/PopFont() to select them.
// - AddFontFromFileTTF() will return the ImFont* so you can store it if you need to select the font among multiple.
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// - If the file cannot be loaded, the function will return a nullptr. Please handle those errors in your application (e.g. use an assertion, or display an error and quit).
2022-03-11 22:44:06 -06:00
// - The fonts will be rasterized at a given size (w/ oversampling) and stored into a texture when calling ImFontAtlas::Build()/GetTexDataAsXXXX(), which ImGui_ImplXXXX_NewFrame below will call.
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// - Use '#define IMGUI_ENABLE_FREETYPE' in your imconfig file to use Freetype for higher quality font rendering.
2022-03-11 22:44:06 -06:00
// - Read 'docs/FONTS.md' for more instructions and details.
// - Remember that in C/C++ if you want to include a backslash \ in a string literal you need to write a double backslash \\ !
//io.Fonts->AddFontDefault();
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
//io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\segoeui.ttf", 18.0f);
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/DroidSans.ttf", 16.0f);
2022-03-11 22:44:06 -06:00
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/Roboto-Medium.ttf", 16.0f);
//io.Fonts->AddFontFromFileTTF("../../misc/fonts/Cousine-Regular.ttf", 15.0f);
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
//ImFont* font = io.Fonts->AddFontFromFileTTF("c:\\Windows\\Fonts\\ArialUni.ttf", 18.0f, nullptr, io.Fonts->GetGlyphRangesJapanese());
//IM_ASSERT(font != nullptr);
2022-03-11 22:44:06 -06:00
// Our state
bool show_demo_window = true ;
bool show_another_window = false ;
ImVec4 clear_color = ImVec4 ( 0.45f , 0.55f , 0.60f , 1.00f ) ;
// Main loop
bool done = false ;
while ( ! done )
{
// Poll and handle messages (inputs, window resize, etc.)
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// See the WndProc() function below for our to dispatch events to the Win32 backend.
2022-03-11 22:44:06 -06:00
MSG msg ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
while ( : : PeekMessage ( & msg , nullptr , 0U , 0U , PM_REMOVE ) )
2022-03-11 22:44:06 -06:00
{
: : TranslateMessage ( & msg ) ;
: : DispatchMessage ( & msg ) ;
if ( msg . message = = WM_QUIT )
done = true ;
}
if ( done )
break ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// Handle window screen locked
if ( g_SwapChainOccluded & & g_pSwapChain - > Present ( 0 , DXGI_PRESENT_TEST ) = = DXGI_STATUS_OCCLUDED )
{
: : Sleep ( 10 ) ;
continue ;
}
g_SwapChainOccluded = false ;
2022-03-11 22:44:06 -06:00
// Start the Dear ImGui frame
ImGui_ImplDX12_NewFrame ( ) ;
ImGui_ImplWin32_NewFrame ( ) ;
ImGui : : NewFrame ( ) ;
// 1. Show the big demo window (Most of the sample code is in ImGui::ShowDemoWindow()! You can browse its code to learn more about Dear ImGui!).
if ( show_demo_window )
ImGui : : ShowDemoWindow ( & show_demo_window ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// 2. Show a simple window that we create ourselves. We use a Begin/End pair to create a named window.
2022-03-11 22:44:06 -06:00
{
static float f = 0.0f ;
static int counter = 0 ;
ImGui : : Begin ( " Hello, world! " ) ; // Create a window called "Hello, world!" and append into it.
ImGui : : Text ( " This is some useful text. " ) ; // Display some text (you can use a format strings too)
ImGui : : Checkbox ( " Demo Window " , & show_demo_window ) ; // Edit bools storing our window open/close state
ImGui : : Checkbox ( " Another Window " , & show_another_window ) ;
ImGui : : SliderFloat ( " float " , & f , 0.0f , 1.0f ) ; // Edit 1 float using a slider from 0.0f to 1.0f
ImGui : : ColorEdit3 ( " clear color " , ( float * ) & clear_color ) ; // Edit 3 floats representing a color
if ( ImGui : : Button ( " Button " ) ) // Buttons return true when clicked (most widgets return true when edited/activated)
counter + + ;
ImGui : : SameLine ( ) ;
ImGui : : Text ( " counter = %d " , counter ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
ImGui : : Text ( " Application average %.3f ms/frame (%.1f FPS) " , 1000.0f / io . Framerate , io . Framerate ) ;
2022-03-11 22:44:06 -06:00
ImGui : : End ( ) ;
}
// 3. Show another simple window.
if ( show_another_window )
{
ImGui : : Begin ( " Another Window " , & show_another_window ) ; // Pass a pointer to our bool variable (the window will have a closing button that will clear the bool when clicked)
ImGui : : Text ( " Hello from another window! " ) ;
if ( ImGui : : Button ( " Close Me " ) )
show_another_window = false ;
ImGui : : End ( ) ;
}
// Rendering
ImGui : : Render ( ) ;
FrameContext * frameCtx = WaitForNextFrameResources ( ) ;
UINT backBufferIdx = g_pSwapChain - > GetCurrentBackBufferIndex ( ) ;
frameCtx - > CommandAllocator - > Reset ( ) ;
D3D12_RESOURCE_BARRIER barrier = { } ;
barrier . Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION ;
barrier . Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE ;
barrier . Transition . pResource = g_mainRenderTargetResource [ backBufferIdx ] ;
barrier . Transition . Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES ;
barrier . Transition . StateBefore = D3D12_RESOURCE_STATE_PRESENT ;
barrier . Transition . StateAfter = D3D12_RESOURCE_STATE_RENDER_TARGET ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
g_pd3dCommandList - > Reset ( frameCtx - > CommandAllocator , nullptr ) ;
2022-03-11 22:44:06 -06:00
g_pd3dCommandList - > ResourceBarrier ( 1 , & barrier ) ;
// Render Dear ImGui graphics
const float clear_color_with_alpha [ 4 ] = { clear_color . x * clear_color . w , clear_color . y * clear_color . w , clear_color . z * clear_color . w , clear_color . w } ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
g_pd3dCommandList - > ClearRenderTargetView ( g_mainRenderTargetDescriptor [ backBufferIdx ] , clear_color_with_alpha , 0 , nullptr ) ;
g_pd3dCommandList - > OMSetRenderTargets ( 1 , & g_mainRenderTargetDescriptor [ backBufferIdx ] , FALSE , nullptr ) ;
2022-03-11 22:44:06 -06:00
g_pd3dCommandList - > SetDescriptorHeaps ( 1 , & g_pd3dSrvDescHeap ) ;
ImGui_ImplDX12_RenderDrawData ( ImGui : : GetDrawData ( ) , g_pd3dCommandList ) ;
barrier . Transition . StateBefore = D3D12_RESOURCE_STATE_RENDER_TARGET ;
barrier . Transition . StateAfter = D3D12_RESOURCE_STATE_PRESENT ;
g_pd3dCommandList - > ResourceBarrier ( 1 , & barrier ) ;
g_pd3dCommandList - > Close ( ) ;
g_pd3dCommandQueue - > ExecuteCommandLists ( 1 , ( ID3D12CommandList * const * ) & g_pd3dCommandList ) ;
// Update and Render additional Platform Windows
if ( io . ConfigFlags & ImGuiConfigFlags_ViewportsEnable )
{
ImGui : : UpdatePlatformWindows ( ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
ImGui : : RenderPlatformWindowsDefault ( nullptr , ( void * ) g_pd3dCommandList ) ;
2022-03-11 22:44:06 -06:00
}
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// Present
HRESULT hr = g_pSwapChain - > Present ( 1 , 0 ) ; // Present with vsync
//HRESULT hr = g_pSwapChain->Present(0, 0); // Present without vsync
g_SwapChainOccluded = ( hr = = DXGI_STATUS_OCCLUDED ) ;
2022-03-11 22:44:06 -06:00
UINT64 fenceValue = g_fenceLastSignaledValue + 1 ;
g_pd3dCommandQueue - > Signal ( g_fence , fenceValue ) ;
g_fenceLastSignaledValue = fenceValue ;
frameCtx - > FenceValue = fenceValue ;
}
WaitForLastSubmittedFrame ( ) ;
// Cleanup
ImGui_ImplDX12_Shutdown ( ) ;
ImGui_ImplWin32_Shutdown ( ) ;
ImGui : : DestroyContext ( ) ;
CleanupDeviceD3D ( ) ;
: : DestroyWindow ( hwnd ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
: : UnregisterClassW ( wc . lpszClassName , wc . hInstance ) ;
2022-03-11 22:44:06 -06:00
return 0 ;
}
// Helper functions
bool CreateDeviceD3D ( HWND hWnd )
{
// Setup swap chain
DXGI_SWAP_CHAIN_DESC1 sd ;
{
ZeroMemory ( & sd , sizeof ( sd ) ) ;
sd . BufferCount = NUM_BACK_BUFFERS ;
sd . Width = 0 ;
sd . Height = 0 ;
sd . Format = DXGI_FORMAT_R8G8B8A8_UNORM ;
sd . Flags = DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT ;
sd . BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT ;
sd . SampleDesc . Count = 1 ;
sd . SampleDesc . Quality = 0 ;
sd . SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD ;
sd . AlphaMode = DXGI_ALPHA_MODE_UNSPECIFIED ;
sd . Scaling = DXGI_SCALING_STRETCH ;
sd . Stereo = FALSE ;
}
// [DEBUG] Enable debug interface
# ifdef DX12_ENABLE_DEBUG_LAYER
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
ID3D12Debug * pdx12Debug = nullptr ;
2022-03-11 22:44:06 -06:00
if ( SUCCEEDED ( D3D12GetDebugInterface ( IID_PPV_ARGS ( & pdx12Debug ) ) ) )
pdx12Debug - > EnableDebugLayer ( ) ;
# endif
// Create device
D3D_FEATURE_LEVEL featureLevel = D3D_FEATURE_LEVEL_11_0 ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( D3D12CreateDevice ( nullptr , featureLevel , IID_PPV_ARGS ( & g_pd3dDevice ) ) ! = S_OK )
2022-03-11 22:44:06 -06:00
return false ;
// [DEBUG] Setup debug interface to break on any warnings/errors
# ifdef DX12_ENABLE_DEBUG_LAYER
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( pdx12Debug ! = nullptr )
2022-03-11 22:44:06 -06:00
{
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
ID3D12InfoQueue * pInfoQueue = nullptr ;
2022-03-11 22:44:06 -06:00
g_pd3dDevice - > QueryInterface ( IID_PPV_ARGS ( & pInfoQueue ) ) ;
pInfoQueue - > SetBreakOnSeverity ( D3D12_MESSAGE_SEVERITY_ERROR , true ) ;
pInfoQueue - > SetBreakOnSeverity ( D3D12_MESSAGE_SEVERITY_CORRUPTION , true ) ;
pInfoQueue - > SetBreakOnSeverity ( D3D12_MESSAGE_SEVERITY_WARNING , true ) ;
pInfoQueue - > Release ( ) ;
pdx12Debug - > Release ( ) ;
}
# endif
{
D3D12_DESCRIPTOR_HEAP_DESC desc = { } ;
desc . Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV ;
desc . NumDescriptors = NUM_BACK_BUFFERS ;
desc . Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE ;
desc . NodeMask = 1 ;
if ( g_pd3dDevice - > CreateDescriptorHeap ( & desc , IID_PPV_ARGS ( & g_pd3dRtvDescHeap ) ) ! = S_OK )
return false ;
SIZE_T rtvDescriptorSize = g_pd3dDevice - > GetDescriptorHandleIncrementSize ( D3D12_DESCRIPTOR_HEAP_TYPE_RTV ) ;
D3D12_CPU_DESCRIPTOR_HANDLE rtvHandle = g_pd3dRtvDescHeap - > GetCPUDescriptorHandleForHeapStart ( ) ;
for ( UINT i = 0 ; i < NUM_BACK_BUFFERS ; i + + )
{
g_mainRenderTargetDescriptor [ i ] = rtvHandle ;
rtvHandle . ptr + = rtvDescriptorSize ;
}
}
{
D3D12_DESCRIPTOR_HEAP_DESC desc = { } ;
desc . Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV ;
desc . NumDescriptors = 1 ;
desc . Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE ;
if ( g_pd3dDevice - > CreateDescriptorHeap ( & desc , IID_PPV_ARGS ( & g_pd3dSrvDescHeap ) ) ! = S_OK )
return false ;
}
{
D3D12_COMMAND_QUEUE_DESC desc = { } ;
desc . Type = D3D12_COMMAND_LIST_TYPE_DIRECT ;
desc . Flags = D3D12_COMMAND_QUEUE_FLAG_NONE ;
desc . NodeMask = 1 ;
if ( g_pd3dDevice - > CreateCommandQueue ( & desc , IID_PPV_ARGS ( & g_pd3dCommandQueue ) ) ! = S_OK )
return false ;
}
for ( UINT i = 0 ; i < NUM_FRAMES_IN_FLIGHT ; i + + )
if ( g_pd3dDevice - > CreateCommandAllocator ( D3D12_COMMAND_LIST_TYPE_DIRECT , IID_PPV_ARGS ( & g_frameContext [ i ] . CommandAllocator ) ) ! = S_OK )
return false ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( g_pd3dDevice - > CreateCommandList ( 0 , D3D12_COMMAND_LIST_TYPE_DIRECT , g_frameContext [ 0 ] . CommandAllocator , nullptr , IID_PPV_ARGS ( & g_pd3dCommandList ) ) ! = S_OK | |
2022-03-11 22:44:06 -06:00
g_pd3dCommandList - > Close ( ) ! = S_OK )
return false ;
if ( g_pd3dDevice - > CreateFence ( 0 , D3D12_FENCE_FLAG_NONE , IID_PPV_ARGS ( & g_fence ) ) ! = S_OK )
return false ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
g_fenceEvent = CreateEvent ( nullptr , FALSE , FALSE , nullptr ) ;
if ( g_fenceEvent = = nullptr )
2022-03-11 22:44:06 -06:00
return false ;
{
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
IDXGIFactory4 * dxgiFactory = nullptr ;
IDXGISwapChain1 * swapChain1 = nullptr ;
2022-03-11 22:44:06 -06:00
if ( CreateDXGIFactory1 ( IID_PPV_ARGS ( & dxgiFactory ) ) ! = S_OK )
return false ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( dxgiFactory - > CreateSwapChainForHwnd ( g_pd3dCommandQueue , hWnd , & sd , nullptr , nullptr , & swapChain1 ) ! = S_OK )
2022-03-11 22:44:06 -06:00
return false ;
if ( swapChain1 - > QueryInterface ( IID_PPV_ARGS ( & g_pSwapChain ) ) ! = S_OK )
return false ;
swapChain1 - > Release ( ) ;
dxgiFactory - > Release ( ) ;
g_pSwapChain - > SetMaximumFrameLatency ( NUM_BACK_BUFFERS ) ;
g_hSwapChainWaitableObject = g_pSwapChain - > GetFrameLatencyWaitableObject ( ) ;
}
CreateRenderTarget ( ) ;
return true ;
}
void CleanupDeviceD3D ( )
{
CleanupRenderTarget ( ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( g_pSwapChain ) { g_pSwapChain - > SetFullscreenState ( false , nullptr ) ; g_pSwapChain - > Release ( ) ; g_pSwapChain = nullptr ; }
if ( g_hSwapChainWaitableObject ! = nullptr ) { CloseHandle ( g_hSwapChainWaitableObject ) ; }
2022-03-11 22:44:06 -06:00
for ( UINT i = 0 ; i < NUM_FRAMES_IN_FLIGHT ; i + + )
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( g_frameContext [ i ] . CommandAllocator ) { g_frameContext [ i ] . CommandAllocator - > Release ( ) ; g_frameContext [ i ] . CommandAllocator = nullptr ; }
if ( g_pd3dCommandQueue ) { g_pd3dCommandQueue - > Release ( ) ; g_pd3dCommandQueue = nullptr ; }
if ( g_pd3dCommandList ) { g_pd3dCommandList - > Release ( ) ; g_pd3dCommandList = nullptr ; }
if ( g_pd3dRtvDescHeap ) { g_pd3dRtvDescHeap - > Release ( ) ; g_pd3dRtvDescHeap = nullptr ; }
if ( g_pd3dSrvDescHeap ) { g_pd3dSrvDescHeap - > Release ( ) ; g_pd3dSrvDescHeap = nullptr ; }
if ( g_fence ) { g_fence - > Release ( ) ; g_fence = nullptr ; }
if ( g_fenceEvent ) { CloseHandle ( g_fenceEvent ) ; g_fenceEvent = nullptr ; }
if ( g_pd3dDevice ) { g_pd3dDevice - > Release ( ) ; g_pd3dDevice = nullptr ; }
2022-03-11 22:44:06 -06:00
# ifdef DX12_ENABLE_DEBUG_LAYER
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
IDXGIDebug1 * pDebug = nullptr ;
2022-03-11 22:44:06 -06:00
if ( SUCCEEDED ( DXGIGetDebugInterface1 ( 0 , IID_PPV_ARGS ( & pDebug ) ) ) )
{
pDebug - > ReportLiveObjects ( DXGI_DEBUG_ALL , DXGI_DEBUG_RLO_SUMMARY ) ;
pDebug - > Release ( ) ;
}
# endif
}
void CreateRenderTarget ( )
{
for ( UINT i = 0 ; i < NUM_BACK_BUFFERS ; i + + )
{
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
ID3D12Resource * pBackBuffer = nullptr ;
2022-03-11 22:44:06 -06:00
g_pSwapChain - > GetBuffer ( i , IID_PPV_ARGS ( & pBackBuffer ) ) ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
g_pd3dDevice - > CreateRenderTargetView ( pBackBuffer , nullptr , g_mainRenderTargetDescriptor [ i ] ) ;
2022-03-11 22:44:06 -06:00
g_mainRenderTargetResource [ i ] = pBackBuffer ;
}
}
void CleanupRenderTarget ( )
{
WaitForLastSubmittedFrame ( ) ;
for ( UINT i = 0 ; i < NUM_BACK_BUFFERS ; i + + )
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( g_mainRenderTargetResource [ i ] ) { g_mainRenderTargetResource [ i ] - > Release ( ) ; g_mainRenderTargetResource [ i ] = nullptr ; }
2022-03-11 22:44:06 -06:00
}
void WaitForLastSubmittedFrame ( )
{
FrameContext * frameCtx = & g_frameContext [ g_frameIndex % NUM_FRAMES_IN_FLIGHT ] ;
UINT64 fenceValue = frameCtx - > FenceValue ;
if ( fenceValue = = 0 )
return ; // No fence was signaled
frameCtx - > FenceValue = 0 ;
if ( g_fence - > GetCompletedValue ( ) > = fenceValue )
return ;
g_fence - > SetEventOnCompletion ( fenceValue , g_fenceEvent ) ;
WaitForSingleObject ( g_fenceEvent , INFINITE ) ;
}
FrameContext * WaitForNextFrameResources ( )
{
UINT nextFrameIndex = g_frameIndex + 1 ;
g_frameIndex = nextFrameIndex ;
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
HANDLE waitableObjects [ ] = { g_hSwapChainWaitableObject , nullptr } ;
2022-03-11 22:44:06 -06:00
DWORD numWaitableObjects = 1 ;
FrameContext * frameCtx = & g_frameContext [ nextFrameIndex % NUM_FRAMES_IN_FLIGHT ] ;
UINT64 fenceValue = frameCtx - > FenceValue ;
if ( fenceValue ! = 0 ) // means no fence was signaled
{
frameCtx - > FenceValue = 0 ;
g_fence - > SetEventOnCompletion ( fenceValue , g_fenceEvent ) ;
waitableObjects [ 1 ] = g_fenceEvent ;
numWaitableObjects = 2 ;
}
WaitForMultipleObjects ( numWaitableObjects , waitableObjects , TRUE , INFINITE ) ;
return frameCtx ;
}
// Forward declare message handler from imgui_impl_win32.cpp
extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler ( HWND hWnd , UINT msg , WPARAM wParam , LPARAM lParam ) ;
// Win32 message handler
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
// You can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if dear imgui wants to use your inputs.
// - When io.WantCaptureMouse is true, do not dispatch mouse input data to your main application, or clear/overwrite your copy of the mouse data.
// - When io.WantCaptureKeyboard is true, do not dispatch keyboard input data to your main application, or clear/overwrite your copy of the keyboard data.
// Generally you may always pass all inputs to dear imgui, and hide them from your application based on those two flags.
2022-03-11 22:44:06 -06:00
LRESULT WINAPI WndProc ( HWND hWnd , UINT msg , WPARAM wParam , LPARAM lParam )
{
if ( ImGui_ImplWin32_WndProcHandler ( hWnd , msg , wParam , lParam ) )
return true ;
switch ( msg )
{
case WM_SIZE :
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
if ( g_pd3dDevice ! = nullptr & & wParam ! = SIZE_MINIMIZED )
2022-03-11 22:44:06 -06:00
{
WaitForLastSubmittedFrame ( ) ;
CleanupRenderTarget ( ) ;
HRESULT result = g_pSwapChain - > ResizeBuffers ( 0 , ( UINT ) LOWORD ( lParam ) , ( UINT ) HIWORD ( lParam ) , DXGI_FORMAT_UNKNOWN , DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT ) ;
assert ( SUCCEEDED ( result ) & & " Failed to resize swapchain. " ) ;
CreateRenderTarget ( ) ;
}
return 0 ;
case WM_SYSCOMMAND :
if ( ( wParam & 0xfff0 ) = = SC_KEYMENU ) // Disable ALT application menu
return 0 ;
break ;
case WM_DESTROY :
: : PostQuitMessage ( 0 ) ;
return 0 ;
}
Squashed 'deps/imgui/' changes from f33737806..2db79d086
2db79d086 Merge branch 'master' into docking
00ad3c65b Version 1.90.7
f814ef816 Commented out CaptureKeyboardFromApp(), CaptureMouseFromApp(). Commented out obsolete IsKeyPressedMap() from imgui_internal.h (can call IsKeyPressed). Comments
b9084949b Fixed typo in IsMouseDragging and GetMouseDragDelta's documentation. (#7620)
86931393a Shortcuts: Revert "SetShortcutRouting: require explicit routing. (#456)
975beafaf Merge branch 'master' into docking
7832e6a70 Shortcuts: Routing: fixed mixed keys<>chars filtering not applying on global routes. (#456, #7618)
85d982011 Shortcuts: fixed priority of route calculation (higher first). (#456, #7618)
fee021059 Merge branch 'master' into docking
ce4e210dc Shotcuts: renamed ImGuiInputFlags_RouteGlobalOverFocused -> ImGuiInputFlags_RouteOverFocused, ImGuiInputFlags_RouteGlobalOverActive -> ImGuiInputFlags_RouteOverActive in previsiion of using them with a Hovered route. (#456)
5ce3d2995 Shortcuts: rename ImGuiInputFlags_RouteGlobalHighest to ImGuiInputFlags_RouteGlobalOverActive, made ImGuiInputFlags_RouteGlobalOverFocused and ImGuiInputFlags_RouteGlobalOverActive flags. (#456)
650cb51bf Shortcuts: renamed ImGuiInputFlags_RouteActiveItem to ImGuiInputFlags_RouteActive. (#456, #7618)
ef9d525f0 Shortcuts: added ImGuiInputFlags_RouteActiveItem. (#456, #7618) + rearrange Changelog
16b72f2d2 Comments
29439bdd2 Windows: BeginChild(): fixed auto-fit calculation when using either (not both) ResizeX/ResizeY and double-clicking on a border. (#1710)
374b9a7fb Demo: Documents: refactor + add Renaming option. (#7233)
c150ad50c Shortcuts: claim mods ownership once pressed. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
1002cfa6d Demo, Shortcut(): amend Shortcuts demo. (#456)
7c71e6637 Shortcuts, SetShortcutRouting: move ImGuiInputFlags_RouteFromRootWindow evaluation to SetShortcutRouting() for now. (#456)
5ecef2f32 Merge branch 'master' into docking
d5a600e9c Shortcuts, SetShortcutRouting: added ImGuiInputFlags_RouteFromRootWindow. Made it possible for SetShortcutRouting() to query for another location.
0eb025f48 Internals: move ItemHandleShortcut() next to Shortcut(), it's calling it anyhow. (#456)
a689fa262 SetShortcutRouting: require explicit routing. (#456)
c06e6340c Shortcuts: added ImGuiInputFlags_Tooltip. (#456)
77e417189 Shortcuts: added flags to SetNextItemShortcut(). (#456)
197f8904f Shortcuts, Nav: make SetNextItemShortcut() work when another item is active. Made NavCalcPreferredRefPos() take account for remote activation. (#456)
dc5caa483 Demo: added "Shortcuts" section. (#456, #2637)
fc512a247 Inputs: Added Shortcut(), SetNextItemShortcut(). Added ImGuiInputFlags, ImGuiInputFlags_RouteXXXX. (#456, #2637)
85513de24 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
900b29055 Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
55748cdbe Internals, Inputs: *Breaking* Renamed ImGuiKeyOwner_None to ImGuiKeyOwner_NoOwner: avoid confusion with non zero value, makes IsKeyPressed() calls using ImGuiKeyOwner_NoOwner more explicit.
ec1d2be96 Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking. (#2496, #3907, #6308, #7615)
6d1a6f1c7 Internals, Inputs: Comments, alignment.
4c3eac2c1 Backends: OpenGL3: Fixed zealous warning by initializing last_pixel_unpack_buffer. (#7614)
36ffdd69d Merge remote-tracking branch 'origin/master' into docking
9ebab255d Docking: *BREAKING* changed signature of DockSpaceOverViewport() to allow passing an explicit dockspace id if desired. (#7611)
a1566c5e1 Tables: fixed 28a283b breaking PageDown on tables with no interactive items.
aa725ca79 Inputs: moving ImGuiInputFlags_RouteAlways into ImGuiInputFlags_RouteTypeMask_
cd48059dc Tables: comments about skipping access to table data in coarse clipping path.
28a283b46 Windows: BeginChild(), Tables:fixed visibility of fully clipped child windows and tables to Test Engine.
aa5a6098e Fixed typos in comments (#7599)
d39ca33b6 Fixed false positive with PVS-Studio.
ae8218a3e Inputs, Shortcut: fixes some edge cases for GetKeyChordName(), clarify that it is aimed at display. (#456)
25e279ee7 Inputs: Treat ctrl-left-click as right click when ConfigMacOSXBehaviors is set. (#2343)
b4f564c1e Internals: Shortcuts: *Breaking* : rename ImGuiInputFlags_RouteGlobalLow -> ImGuiInputFlags_RouteGlobal, ImGuiInputFlags_RouteGlobal -> ImGuiInputFlags_RouteGlobalOverFocused, ImGuiInputFlags_RouteGlobalHigh -> ImGuiInputFlags_RouteGlobalHighest (#456)
b39fc84f8 Merge branch 'master' into docking
5107e58b0 Inputs: amend changelog and clarify how the swap might be a breaking change for a minority of users. (#2343)
8bd5d1d42 Inputs: Fixed swapping of keys associated to mods. Fixed warnings. (#2343, #4084, #5923, #456)
774710664 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456)
07dbcf1f7 Fixed typos. (#7593)
93daf2322 Examples: SDL3: updates for latest SDL3 API changes.
e45efa995 Backends: SDL3: Rename SDLK_QUOTE and SDLK_BACKQUOTE to SDLK_APOSTROPHE and SDLK_GRAVE. (#7580)
5d973a87d Backends: SDL_Renderer2/SDL_Renderer3: and ImGui_ImplSDLRenderer2_RenderDrawData() and ImGui_ImplSDLRenderer3_RenderDrawData() now takes a SDL_Renderer* parameter.
af2fbf043 Backends/Internals: Don't use IME and clipboard default win32 functions when WINAPI_FAMILY_GAMES (#7585)
15d8d41f8 Examples: add missing ImGuiConfigFlags_DockingEnable flag in some examples.
eabe98f6d Merge branch 'master' into docking (incl merge moved CurrentDpiScale field)
e4576914c Internals: amend f806c76 to better match docking + fixed unused static forward declaration warning.
d0524df88 Internals: slight refactor FindHoveredWindow() -> FindHoveredWindowEx() toward reducing far-away code duplication.
f806c76e9 Tables, Dpi: added dummy g.DpiScale storage (to be altered in docking), using to scale tables border hit thickness.
f0912833b Update FAQ.md (#7581)
ac90e1bd5 Backends: Win32: replace bd != nullptr assert with early out. (#6275)
0a5d40a01 Update FAQ.md
d06b8b58d Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
5e2368045 Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of dear imgui. (#7568)
510eb8f48 Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
f48aae600 Version 1.90.7 WIP
e391fe2e6 Merge branch 'master' into docking
6ccc561a2 Version 1.90.6
0d483a1c8 Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
92df32d33 Backends: OpenGL3: minor update of generated loader to match latest downloaded glcorearb.h/khrplatform.h files.
1ab1af80c Backends: Win32: Facepalm revert part of d15574c + additional commentary (#6275)
d15574ce2 Backends: Win32: Removed silent return when calling ImGui_ImplWin32_WndProcHandler() with no active context! (#6275)
8b2c6dd42 Backends: Vulkan: reworked swap-chain resize handling for secondary viewports to work with typical Linux setups. (#2626, #3390, #3758, #7508, #7513)
d4495446d Windows, Internal: added experimental SkipRefresh mode. (#3515, #4763, #7556, #5116 , #4076, #2749, #2268)
f5d185238 Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
2f2d5070f Merge branch 'master' into docking
0b309471f Windows: Changed default ClipRect to extend to windows' left and right borders. (#3312, #7540, #3756, #6170, #6365)
0c9c12c1b InnerClipRect use ImFloor() matching docking branch (fix c41868531 for #6861, #2884, followed by rename 94da5842)
6ebbecc6a Realign assignments.
fc4d818e1 Tables: Angled headers: added TableAngledHeadersTextAlign, ImGuiStyleVar_TableAngledHeadersTextAlign. (#6917)
4bb756714 Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
b30df8890 Table: Angled Headers: internal refactor to facilitate changing angled header bg and text colors per column. (#6917)
ebb8d7810 Backends: Vulkan: Create a custom pipeline for secondary viewports. (#6325, #6305, #7398, #3459, #3253, #3522)
49e70e60a Backends: Vulkan: Stripped misleading leftover of ImGui_ImplVulkanH_Window::Pipeline (#6325, #6305, #7398, #3459, #3253, #3522)
9d6818d0c Docking: comments, clairfy why we store style override on dragged windows. Clarify why we don't need to store alpha. (#7535, #2771)
558c57a08 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice.
5717f0a33 Merge branch 'master' into docking
50b2ff0bf ImGuiIO: moved IMGUI_DISABLE_OBSOLETE_KEYIO block lower in the structure so other fields layout are not affected by it (#7534)
6ef4f67fa ImDrawList: moved cold fields lower in the structure so hot fields are closer to each others + better packed ImGuiNavItemData
a60387a3c Backends: GLFW: Add define guards for glfw native defines. (#7536)
913151caa Demo: move progress bars to their own section.
c895e987a ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901)
b8a44b198 TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937)
baaaaea9e Demo: tweak TreeNode demo.
da18fcb7a Internals: ensure ButtonBehavior() is called with non 0 id.
b720c0f54 Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (#6582, #4854)
07e8ff9a8 Backends: Win32: Fixed a warning + moved header cruft below Changelog.
b555984a9 Merge branch 'master' into docking
fa0120ea5 Windows: Fixed subsequent Begin() append calls from setting last item information for title-bar. (#7506, #823)
361432a0b TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
eba46cb0d Drag and Drop: assert when nesting BeginDragDropSource() and BeginDragDropTarget() (#7504) + update Gallery links
9ec299ebe Backends: OpenGL: Detect ES3 contexts on desktop based on version string, (#7447)
4cb0fe3c7 Merge branch 'master' into docking
7b8107e7c Examples: GLFW+WebGPU: Rename example_emscripten_wgpu/ to example_glfw_wgpu/ (#7435, #7132)
648278cd6 Examples: GLFW+WebGPU: Amends. (#7435, #7132)
80a5fdb10 Examples: GLFW+WebGPU: Fixed condition for when to recreate swapchain. (#7435, #7132)
f9df6bf66 Examples: GLFW+WebGPU: added support for WebGPU-native/Dawn (#7435, #7132)
b475309fa Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. (#7399, #7404)
daecfffef Text, DrawList: Improved handling of long single-line wrapped text. (#7496, #5720)
fab96a6e5 Backends: SDL3: Re-enable calling SDL_StartTextInput()/SDL_StopTextInput(). (#7452, #6306, #6071, #1953)
dad1689bf Examples: SDL3: amend for removal of SDL_RENDERER_ACCELERATED.
c1743eef4 Docking: when io.ConfigDockingWithShift is enabled, fixed help tooltip erroneously reading SetNextWindowXXX() data. (#6709, #4643, #7491)
3caa79c8a Version 1.90.6 WIP
76bc1b825 Extracted part of NewFrame() into SetupDrawListSharedData() for documentation purpose. (#7495, #6406)
f790d5166 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal!
1db579d45 Merge branch 'master' into docking
231cbee0f Version 1.90.5
4f9ba19e5 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
e7712ff10 Out of courtesy/consistency move all the DebugHookIdInfo compares into ifndef block.
f959c417f Refactor moving ID stack functions to their own section (part 2)
0bf134a8e Refactor moving ID stack functions to their own section.
9a2b598ec ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
d3c3514a5 Tables: Fixed auto-width columns when using synced-instances of same table. (#7218)
25a492f33 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
9638c2839 Internals: adding ImGuiNavMoveFlags_NoClearActiveId even though there's currently no satisfying way to take advantage of it. (#1418)
742e53434 Child Windows: adjust resizing limits to match window padding rather than inner clipping rectangle. (#7440)
515b437c0 Child windows: look at the parent window's flags to decide whether to clamp child resizes. (#7440, #1710)
976dc2396 Windows: extend outer resize borders to the edges when there are no corner grips. (#7440, #1710)
37b37fc2a DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
5c5ae806a Comments
cf4c10bef Style: added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle. (#7411)
f0802287d Tables: Angled headers: fixed table contents overflowing when a list clipper is used. (#7416)
29ff159f9 Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow stops being called. (#7416)
38ddfb24f Tables: Angled headers: fixed border hit box extending beyond non-scrollable tables. (#7416)
8be48a44f Backends: WebGPU: Avoid using -1u literal (#7436)
085781f5c Merge branch 'master' into docking
868facff9 ImDrawList: (Breaking) merge float radius_x/radius_y parameters into ImVec2 radius in PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743, #7417)
0a1f5b94e Demo: Two minor fixes (unchecked BeginTooltip + incorrect height constraint) (#7410)l
40df3db1a Tweaking terminology
adcc3217c Revert "Docking: Fix C++26 zealous warnings (#7383, #7089)" + Disable warnings
9d9ca37a8 Docking: Fix C++26 zealous warnings (#7383, #7089)
da29b776e Backends: SDL3: Fix leak of SDL_GetGamepads() return value (#7381)
3c435c029 Inputs: (Breaking) More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. (#4921)
286cd5bd4 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
fc570ac92 Examples: WGPU: fixed initialization of WGPURenderPassColorAttachment (#7371)
fd75685fb Merge branch 'master' into docking
65dc67f63 Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
6b7358e9f InputText: adding clarifying note about ImGuiInputTextCallbackData::Buf. (#7363)
fbf45ad14 ImDrawList: add PathFillConcave(), AddConcavePolyFilled(): amends (#760)
1ff90c52d ImDrawList: add PathFillConcave(), AddConcavePolyFilled() (#760)
04f40014a Docs: added a mini wiki index in main source files.
c62366996 Added link to crawlable wiki
0573513d6 Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
77dff5a73 Backends: comments.
4e8c43f6b Backends: Win32: made it so that an appearing viewport showing up doesn't bring its parent viewport to front. (#7354)
44c7dfca0 Menus, Popup: Amend c3f8f4d for static analyzer warning ("condition always true"). (#7325)
1a487165b Merge branch 'master' into docking
c3f8f4de2 Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. (#7325, #7287, #7063)
987794177 Popups, Menus: rename ImGuiPopupData::BackupNavWindow > RestoreNavWindow and minor tweaks. Should be functionally a no-op.
725f91922 Tables: fixed TableGetHoveredRow() with overlapping frozen rows (#7350, #6588, #6347, #6250)
e46d1e69a Version 1.90.5 WIP
c6aa05162 Merge branch 'master' into docking
277ae93c4 Version 1.90.4
f5be90523 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
13d91ff91 Nav: Fixed SetKeyboardFocusHere() or programmatic tabbing API from not working on windows with the ImGuiWindowFlags_NoNavInputs flag.
34965cf23 Modals: Temporary changes of ImGuiCol_ModalWindowDimBg are properly handled by BeginPopupModal(). (#7340)
659fb41d0 Debug Tools: moved DebugStartItemPicker() to public API. Added to Demo->Tools menu. (#2673)
198c38f0b Demo: Custom Rendering: better demonstrate PathArcTo(), PathBezierQuadraticCurveTo(), PathBezierCubicCurveTo(), PathStroke(), PathFillConvex() functions.
3b6d924ac ProgressBar: Fixed a minor tesselation issue when rendering rounded progress bars.
2b662b1ab Merge branch 'master' into docking
d3f1a7165 Popups: allow Child Popups to be resizable if not explicitly disabling.
e78ce72eb Popups: Fixed resizable popup minimum size being too small. Standardized CalcWindowMinSize() logic a bit more. (#73290
014e0ac8c Menus, Popups: Fixed an issue where hovering a parent-menu upward would erroneously close the window. (#7325, #7287, #7063)
c16043c1d Tables: Angled headers: improve clipping of text since multi-line labels makes clipping issues visible. (#6917)
405e54ebd Tables: Angled Headers: fixed support for multi-line labels. various padding/layout fixes. (#6917)
6655ab2e4 Tables: Angled Headers: fixed TableAngledHeadersRow() incorrect background fill drawn too low. Fixed row geometry with non-small values of CellPadding. (#6917)
9159cd7b4 Updated invalid documentation link (#7331)
ccc5347e4 Fix typos (#7332)
8a14b71f2 Version 1.90.4 WIP
b19a4c5f2 Backends: OSX: remove legacy clearing of io.NavInputs in ImGui_ImplOSX_UpdateGamepads(). (#7320)
8048b5249 Backends: GLFW: enable ImGuiBackendFlags_HasMouseHoveredViewport support with GLFW 3.3.x. (#7316)
c66a1e7d5 Backends: Vulkan: ImGui_ImplVulkan_CreateWindow() amend merge to take account of PipelineRenderingCreateInfo change. (#7166, #6855, #5446, #5037)
d79514c40 Merge branch 'master' into docking
5b6f03213 Version 1.90.3
f80e65a40 Backends:,Examples: Vulkan: moved RenderPass parameter from ImGui_ImplVulkan_Init() function to ImGui_ImplVulkan_InitInfo structure. (#7308)
829f45df9 Backends: SDL2: removed obsolete ImGui_ImplSDL2_NewFrame(SDL_Window*) signature which was obsoleted in 1.84..
3cc37170c Examples: GLFW+Metal: Add -I and -L paths for MacPorts.
891b81fc5 Backends: SDL3: Fixed gamepad. Added support for disconnection. Added support for multiple gamepads. Added ImGui_ImplSDL3_SetGamepadMode(). (#7180, #3884, #6559, #6890)
262e30e30 Backends: SDL2: rework new API as ImGui_ImplSDL2_SetGamepadMode(). (#3884, #6559, #6890, #7180)
9dfa2397d Internals: Fixed ImFileOpen not working before context is created. (#7314, #7315)
d15e4100b Backends: SDL2: Amend new API, all support for multiple gamepads. (#3884, #6559, #6890)
f966da1f8 Backends: SDL2: Gamepad handlng: amend bf1c96d. (#3884, #6559, #6890)
bf1c96d4f Backends: SDL2: Handle gamepad disconnection + fixed increasing refcount. Added ImGui_ImplSDL2_SelectGamepadAuto()/ImGui_ImplSDL2_SelectGamepadExplicit(). (#3884, #6559, #6890)
fd8d6dc5d Backends: SDL2,SDL3: tidying up.
e0ba0d043 Backends: Vulkan: Fixes for building with pre Vulkan 1.3. Amend 8901931. (#7166)
11d73f03e Backends: Vulkan: Fix/amend 8901931
89019319d Backends: Vulkan: use PipelineRenderingCreateInfo for dynamic rendering (#7166, #6855, #5446, #5037)
1d6f0cea0 Backends: DX9: use RGBA texture to avoid conversion if supported
3af739a2d Menus, Popups: fixed menus and popups with child window flag erroneously not displaying a scrollbar when contents is over parent viewport size. (#7287, #7063)
2af01baff Backends: SDLRenderer3: query newly added SDL_RenderViewportSet() to not restore a wrong viewport if none was initially set.
915c6393a Version 1.90.3 WIP
8490a262c Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover. (amends)
71bcf350b Merge branch 'master' into docking
536090303 Version 1.90.2
7b5357d81 Debug Tools: Metrics: Improved Monitors and Viewports minimap display. Highlight on hover.
30ba3c347 Viewports: Fixed moving accross monitors when io.ConfigWindowsMoveFromTitleBarOnly is set. (#7299, #3071)
59c8db69e Demo: reorder Demo->Configuration section with docking/viewports section.
70aa717a8 Combo: Fixed not reusing windows optimally when used inside a popup stack.
5cdc4a2a4 Demo: use ImGui::MemAlloc/MemFree for consistency. (#7300)
76e09c4b0 ClosePopupsOverWindow(): amend to remove _ChildWindow test.
3a078466a Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
7d67623d1 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment.
a5e0e90c1 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact.
1e8fc01dd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename
a06dd7a27 OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
f104967c6 Comments
82eeafc19 Merge branch 'master' into docking
06ce31274 InputText: Internal: added reload from user-buf feature. (#2890)
f50ddc431 Fixed some typos. (#7282)
6172c22c5 CI: Update to `actions/checkout` `v4` from `v3`. (#7281)
96839b445 Nav: Improve handling of Alt key to toggle menu so that key ownership may be claimed on indiviudal left/right alt key without intefering with the other.
719475637 Shortcut: fixed single mod-key Shortcut from working e.g. Shortcut(ImGuiKey_LeftCtrl)
f1960b60c Added "nop" to IM_DEBUG_BREAK macro on GCC to work around GDB bug (#7266)
8491cf36a Inputs: g.ActiveIdUsingManyKeys[] prevent routes from being claimed.
9176eedf2 Internals: SetShortcutRouting() move code so next commit is easier to read. Should be no-op.
150984210 Backends: OpenGL3: Shallow tweak of compile-time extensions detection.
1ce41f621 Backends: OpenGL3: Backup and restore GL_PIXEL_UNPACK_BUFFER. (#7253)
54ef4092a Backends: OSX: Fixed not submitting Monitors info when viewports are not enabled. (#7257)
81e0be856 Fixed strict-aliasing violation in FormatTextureIDForDebugDisplay(). (#7090, #7256)
eb42e164d Merge branch 'master' into docking
a201af735 Added SetNextItemShortcut() wip function. (#456)
4c2c09450 Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
5b5e9bd0c Internals: Tweak shallow compaction as Clang complains about MS ABI signage of enums.
7c3fa7d04 Refactor: moved section in imgui_internal.h
9266c0d2d Backends: WebGPU: Avoid leaking pipeline layout. (#7245)
595eb8662 Changelog, comment, minor data compaction
6850194f6 CI: Fixes WGPU example build.
5fc0a361b Backends: WebGPU: added ImGui_ImplWGPU_InitInfo::PipelineMultisampleState. (#7240)
831d42c1a Backends: WebGPU: ImGui_ImplWGPU_Init() now takes a ImGui_ImplWGPU_InitInfo structure instead of variety of parameters, allowing for easier further changes. (#7240)
e3c7ff944 Examples: Emscripten+WebGPU: slightly refactor like other Emscripten compatible Desktop examples, as aiming to make this suppot desktop eventually.
15908502e Backends: Vulkan: Define NOMINMAX when VK_USE_PLATFORM_WIN32_KHR is defined. (#7250)
788747f86 Examples: Emscripten+WebGPU: Remove use of deprecated ObjectBase<...>::Release in favor of ::MoveToCHandle (#7251)
763100b38 Nav: Fixed pressing Escape while in a child window with _NavFlattened flag. (#7237)
c7edb446c Shortcut(): always test ownership.
1844f903d Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
5ddfbb80d Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
01b99a974 Backends: Vulkan: Fixed vkAcquireNextImageKHR() validation errors in VulkanSDK 1.3.275 by allocating one extra semaphore than in-flight frames. (#7236)
2f4833733 Examples: Vulkan: Rename compile-time defies for the examples to remove misleading IMGUI_ prefixes.
cab7edd13 Merge branch 'master' into docking
d7c2a0e38 Shortcut(): fixed 8323a06 adding _Repeat to all Shortcut() calls.
3b828d370 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 2)
ff5f3aa38 Refactor: moving ItemAdd() into a section abote ItemSize(). No logic change (part 1)
1a48a6344 Enclosed a few more remaining sections in ifndef IMGUI_DISABLE_DEBUG_TOOLS for completeness.
33fabdf39 Scrollbar() doesn't forcefully mark itself as hovered when held.
d431d8583 Internals: removed obsolete ImPool::GetSize() (last used by implot 0.10, changed in implot 0.11)
f0d1f61fa Internals: commented out long-time obsoleted FocusableItemRegister()/FocusableItemUnregister() documentaton-only leftovers. +
095665977 Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
d10641b04 Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback.
03417cc77 Backends: WebGPU: Filling all WGPUDepthStencilState fields explicitly as a recent Dawn update stopped setting default values. (#7232)
5fdcdf708 Shortcut: ImGuiInputFlags_RouteFocused policy can filter Shortcuts conflicting with character input when an item is active. (#456)
80d5cb1ab Comments around ImGuiInputFlags.
80c83a427 Docking: added ImGuiDockNodeFlags_DockedWindowsInFocusRoute to configure a dock node to automatically set ParentWindowForFocusRoute on its docked windows. (#6798, #2637, #456)
cceff4684 Docking: added ImGuiWindowClass::FocusRouteParentWindowId as a public facing version of SetWindowParentWindowForFocusRoute() (#6798, #2637, #456)
1cc0eb4d3 Internals: Rename NavFocusScopePath to NavFocusRoute + fixed a static analyzer warning.
69b64e2b7 Internals: Docking: revert 32a3c61 in favor of user explicitely calling SetWindowParentWindowForFocusRoute(). (#6798)
a27f22f0e Merge branch 'master' into docking
46e5f44ec Shortcut()/SetShortcutRouting(): use mixed current window focus scope + ParentWindowForFocusRoute. (#6798, #2637, #456)
e0c8c80ad Shortcut()/SetShortcutRouting(): focus route testing now use ParentWindowForFocusRoute. Automatically set on child-window, manually configurable otherwise. (#6798, #2637, #456)
4b20a0217 Internals: add window to FocusScopeStack. (#6798)
2156db7a0 Debug Log: added InputRouting logging. Made GetKeyChordName() use its own buffer. Fixed debug break in SetShortcutRouting(). (#6798, #2637, #456)
dd0efdc63 Fixed SetKeyboardFocusHere() not working when current nav focus is in different scope. (#7226)
8a3dfda8d Commented out obsolete ImGuiIO::ImeWindowHandle marked obsolete in 1.87, favor of writing to 'void* ImGuiViewport::PlatformHandleRaw'.
6228c2e1e Backends: Vulkan: moved ImGui_ImplVulkanH_DestroyFrameRenderBuffers/ImGui_ImplVulkanH_DestroyWindowRenderBuffers as they are always used in a state where backend data is available.
32a3c61d0 Internals: Shortcut() follow docking chain (until we formalize a more general focus scope stack). (#456)
70bb6d1e7 Backends: Vulkan: Fixed vkMapMemory() calls unnecessarily using full buffer size. (#3957)
82df7c8bf Backends: Vulkan: Fixed handling of ImGui_ImplVulkan_InitInfo::MinAllocationSize field. (#7189, #4238)
29809d722 Version 1.90.2 WIP
db049db86 Docs: tweak, fixed misplaced changelog entry. (#7084)
2dc85e6e4 Merge branch 'master' into docking
d6cb3c923 Version 1.90.1
6470e2279 Debug Tools: DebugRenderKeyboardPreview() scales better.
fdf8d02be Debug Tools: Added io.ConfigDebugIsDebuggerPresent and Debug Break buttons. (#2673)
788bb58b6 Metrics: Tweak, reorganize tools menu.
a5dec4286 Debug Tools: Debug Log: Clicking any filter with SHIFT held enables it for 2 frames only. (#5855)
a3eea8a75 Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" and variants, fixing regression on distros missing a symlink. (#6983)
cf0202356 Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
69bf3291d Internals, Inputs: Fix for ImGuiInputFlags_RepeatUntilXXX logic when #ifdef IMGUI_DISABLE_OBSOLETE_KEYIO is not set.
ebcfcd8da Merge branch 'master' into docking
8deb1007c Backends: OSX: Fixed IME position in multi-monitor/multi-viewports setups. (#7028)
a683033e4 Backends: OSX: Fixed monitor and window position by correctly transforming Y origin on multi-monitor setups. (#7028, #7101, #6009, #6432)
af00b182e Examples: SDL3: Minor fixes following changes to API (SDL_WindowFlags -> Uint32).
fc2e532f9 Shortcut: do not return true on mods changes. Internals: added ImGuiInputFlags_RepeatUntilKeyModsChange, ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone, ImGuiInputFlags_RepeatUntilOtherKeyPress. (#456, #2637)
8323a06e6 Inputs: passing ImGuiInputFlags_RepeatXXX options automatically adds ImGuiInputFlags_Repeat.
58261dbe9 Internals: alter ImGuiInputFlags values to leave room + indent.
f1ae47c4b Docs: update links to Proggy Fonts. (#7211)
7f9533b84 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
27e83c295 Add comment about how ImGuiKey values are named after US keyboard keys. (#7205)
278cf1a7b Readme: updated binaries. (#7193)
edeb8ee3a More compact issue_template.yml
c6716f5e9 Fixed typo (#7197)
a1b06823f Windows: BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground is specified. (#1710, #7194)
0461ade24 Reworked issue template (amends) (#5927, #5915)
c528b688c Reworked issue template. (#5927, #5915)
26eef4df8 Update issue_template.md
7938550d5 Comments and some extra line-wrapping in demo (#3193)
4758f7467 imgui_freetype: fix nullptr to ImTextureID cast (#7192)
e3d7cd665 Merge branch 'master' into docking
6f10cef2a Backends: Vulkan: moved structure declarations.
33d18c580 Misc: During shutdown, check that io.BackendPlatformUserData and io.BackendRendererUserData are NULL. (#7175)
0ea99132c Backends: Vulkan: Stop creating command pools with VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT as we don't reset them.
4778560e6 Backends: Vulkan: Added MinAllocationSize field in ImGui_ImplVulkan_InitInfo to workaround zealous validation layer. (#7189, #4238)
e8dd47eff Backends: WebGPU: Fixing an issue when opening a popup in the wgpu backend (#7191)
718fa0eec Happy new year!
2523c197b Fixed title bar background alpha being used to render viewport-owned windows. (#7184, #7181)
240ab5890 Backends: GLFW, Input: Use Unicode version of WndProc for get correct input for text in utf-8 code page. (#7174)
4a2426449 Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096)
20e1caec8 Backends: DX12: Changed swapchain scaling mode to `DXGI_SCALING_NONE`. (#7152, #7153)
f039e69b9 Settings: Fixed an issue marking settings as dirty when merely clicking on a border or resize grip without moving it.
4aa81116a Merge branch 'master' into docking
8340a30d2 Debug: move debug assertion in post-clip code to reduce overhead. (#4796 and more).
1e1013085 Debug Tools: Debug Log: Hide its own clipper log to reduce noise in the output.
036a6c875 ColorEdit4: Further tweaks for very small sizes. (#7120, #7121)
0bd648972 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
0000739c0 Internals: Fixed function name typo.
33d426842 Backends: Vulkan: ImGui_ImplVulkan_CreateFontsTexture() calls vkQueueWaitIdle() instead of vkDeviceWaitIdle(). (#7148, #6943, #6715, #6327, #3743, #4618)
3cb805489 Backends: GLFW, Emscripten: fixes for canvas resizing, amends. (#6751)
22a7d241f Backends: GLFW, Emscripten: fixes for canvas resizing. (#6751)
b4c5a83cf Commented out obsolete ImGuiKey_KeyPadEnter redirection to ImGuiKey_KeypadEnter. (#2625, #7143)
70f2aaff4 Nav: tabbing happen within FocusScope. ImGuiWindowFlags_NavFlattened make window inherit focus scope from parent.
55073aa7a Examples; SDL: added missing return values checks from SDL_CreateWindow() calls. (#7147)
8764a1b7c Backends: Vulkan: free FontCommandBuffer explicitely (not actually required in normal code path, unless ImGui_ImplVulkan_DestroyDeviceObjects is declared directly). (#7104)
089ed3032 Replace usages of ImGuiKey_KeyPadEnter with ImGuiKey_KeypadEnter. (#7143)
e265610a0 Fixes for MSVC code analyzer.
f59b54c6f Nav: Activation can also be performed with Keypad Enter. (#5606)
0d582dabf Fixed warning (amend 54c1bde)
8add6bcb9 Merge remote-tracking branch 'origin/master' into docking
6cfe3ddf5 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787)
54c1bdece Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
4afffa36e InputTextMultiline: Fixed Tab character input not repeating
f6836ff37 Misc: Rework debug display of texture id in Metrics window (amend) (#7090)
07dbd46dd Misc: Rework debug display of texture id in Metrics window to avoid compile-error when ImTextureID is defined to be larger than 64-bits. (#7090)
34646627a ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123)
86512eac0 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: improve multi-components width computation to better distribute the error. (#7120, #7121)
03298fe87 Windows: Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y). (#7106)
69f524ba9 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Added when component <= 0. (#7095)
9d8de4531 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
5366bd09b Scrolling: internal scrolling value is rounded instead of truncated. (#6677)
c58d2c89c Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084)
1fade3515 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: Fixed incorrect pushes into ItemWidth stack when number of components is 1. [#7095]
58ca5f642 Shortcut(): clearer early out in SetShortcutRouting() -> CalcRoutingScore() path.
d72e1563d Removed CalcListClipping() marked obsolete in 1.86. (#3841) + comments
9a2985611 Backend: Android: Remove Redundant Check (#7093)
0b77980ca Moved Tables API related declarations to their own section in imgui.h
aaf157cfd Commented out ImGuiFreeType::BuildFontAtlas() obsoleted in 1.81. Commented out legacy ImGuiColumnsFlags_XXX symbols redirecting to ImGuiOldColumnsFlags_XXX, obsoleted in 1.80.
96b5b1724 Merge branch 'master' into docking
1fd5ff715 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040)
52886872f Misc: Added IMGUI_USER_H_FILENAME to change the path included when using IMGUI_INCLUDE_IMGUI_USER_H. (#7039)
5768de79e InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
b112d73ed Menus: amend to clarify/fix static analyzer warning. (#6671, #6926)
2ee40d3cf Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926)
b4b864e40 Backends: Vulkan: Fixed mismatching allocator passed to vkCreateCommandPool() vs vkDestroyCommandPool(). (#7075)
d2b016761 Fixed link error when using IMGUI_DISABLE_DEBUG_TOOLS
7965494ff Debug Tools: Added DebugFlashStyleColor() to identify a style color. Added to Style Editor.
c1a3c7f44 Fixed Clang zealous warnings
c6ec69c7c Using nullptr in remaining examples/backends locations. (#6313, #7071, #4537)
888834c63 Backends: Android: Fixed build breaking typo. (#7060)
077e4db77 Misc: Added extra courtesy ==/!= operators when IMGUI_DEFINE_MATH_OPERATORS is defined.
f6253b87d Merge branch 'master' into docking
6f171a066 Nav, IO: SetNextFrameWantCaptureKeyboard(false) calls are not overrided back to true when navigation is enabled. (#6997)
e07663d9a Docking: transform `ImGuiContext* ctx = GImGui` to `ImGuiContext& g = *GImGui` for consistency (#5856)
1f3090a48 Backends: SDL3: Fix indent (#7062)
86891b098 Backends: Android: ImGui_ImplAndroid_HandleInputEvent() takes a const AInputEvent* (#7060)
f37f6f67f Windows: BeginChild(): Fixed auto-resizing erroneously limiting size to host viewport minus padding. (#7063)
bce4db00b Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272)
65a10410e Docs: Add suggestion to turn of char8_t behavior for C++20 (#7025)
61b819794 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
3733b5064 Backends: SDL3: Fixed unused variable warning on master on some targets. (#7000)
c5c1c4134 Backends: OpenGL3: imgui_impl_opengl3_loader.h: change #define ARRAY_SIZE to GL3W_ARRAY_SIZE to avoid external conflicts (#7017, #7018)
7bb0a525c Fixed text functions fast-path for handling "%s" and "%.*s" to handle null pointers gracefully. (#7016, #3466, #6846)
3d083dbe1 Version 1.90.1 WIP
ce0d0ac82 Merge branch 'master' into docking
b81bd7ed9 Version 1.90.0
6695006be Backends: Vulkan: use specified ColorAttachmentFormat when creating a secondary window when enabling UseDynamicRendering. (#6999, #5446, #5037)
623bff23c Windows: WindowMinSize not applied on AlwaysAutoResize window. (amend e2035a5)
f298491a8 Docs: amend/tweak details about using io.WantCaptureMouse. (#7012)
5de1312e1 SplitterBehavior: tweak to not assert due to floating point precision.
afadf74a5 BeginChild: undo child name simplification as it reveal an issue with handling of ### in child names.
46843b683 Fonts: minor/shallow amends (#6925)
ade4d0e08 Fonts: added support for RasterizerDensity to FreeType based atlas generator. (#6925)
ed29ff08b Fonts: added support for RasterizerDensity in built-in atlas generator. (#6925)
abfb9269b Fonts: added RasterizerDensity to ImFontConfig. (#6925)
0941adc93 Backends: SDL3: Updates for recent API changes. (#7000) (w/ multi-viewports version)
add915bdc Backends: SDL3: Updates for recent API changes. (#7000)
4ad5817aa Update backends/language lists
75c46a393 Demo: Partly fix resizing constraint demo. (#6210, #5627)
fe6544622 SetNextWindowSizeConstraints() clarified parameters, fixed comments. (#1139, #3186, #3270)
454f36d2a Removed 'bool border' legacy versions of BeginChild() as they seemingly have no value other than confusing user and IDE.
9d950444a Backends: Vulkan: Fixes for VK_NO_PROTOTYPES (docking merge + reorder docking only bits)
44dbad64d Backends: Vulkan: Fixes for VK_NO_PROTOTYPES.
450f1d7e7 Merge branch 'master' into docking
79a9e2fdf Backends: Vulkan: (Breaking) full font upload is performed by ImGui_ImplVulkan_CreateFontsTexture(), no need for user code to create or provide a command-buffer. Removed ImGui_ImplVulkan_DestroyFontUploadObjects(). (#6943, #6715, #6327, #3743, #4618)
6e7b43b6c Backends: Vulkan: Added ImGui_ImplVulkan_DestroyFontsTexture(), made ImGui_ImplVulkan_CreateFontsTexture() destroy previous one. (#6943, #6715, #6327, #3743, #4618)
d0da79c57 Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921)
ab522dd18 Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537)
0f50b52da Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead of "libGL.so.1". (#6983)
5170a9d6d Tables: Internals: renamed TableDrawContextMenu() to TableDrawDefaultContextMenu() for clarify.
fea52e29a Tables: added flags to TableDrawContextMenu() in order to display selected sections + added internal table->DisableDefaultContextMenu = true way to submit your own contents.
37ea320b9 Merge branch 'master' into docking
0d3b468cb BeginChild(): added ImGuiChildFlags_AutoResizeX, ImGuiChildFlags_AutoResizeY, ImGuiChildFlags_AlwaysAutoResize + support for SetNextWindowSizeConstraints(). (#1666, #1395, #1496, #1710) + Demo
44345c210 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
fa4c49b4a BeginChild(): resizing is only clamped on axis where there's no scrollbar. Added an extra ResizeX in Demo->Simple Layout.
cdbc21a19 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
ab47efd9a Bits / comments
561af15d6 Internal: Added owner aware variant of IsMouseDoubleClicked() for consistency.
376035fd0 Nav: fixed programmatic nav calls (e.g. SetKeyboardFocusHere() from storing io.KeyMods)
cfc71ab7c Made ImDrawCallback_ResetRenderState special value -8 instead of -1 so it is pointer aligned (#6969)
208b8242b Docking: Settings: Fix for loss of settings caused by 9298e31 yesterday. (#6982)
1ab63d925 Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
4cde40dbe Undid some of the changes done by c95fbb4 because they are not compatible with docking code.
9298e310b Merge branch 'master' into docking (note: won't build as-is, see next commit)
c0bc43ccf Offset values for ImGuiWindowFlags_NoNavInputs, ImGuiWindowFlags_NoNavFocus, ImGuiWindowFlags_UnsavedDocument.
f1d1a8d32 Windows: use relative mouse movement for border resize when the border geometry has moved. (#1710)
923535240 BeginChild: Added ImGuiChildFlags_ResizeX and ImGuiChildFlags_ResizeY. (#1710)
34a0bc456 BeginChild: Added ImGuiChildFlags_AlwaysUseWindowPadding, obsoleted ImGuiWindowFlags_AlwaysUseWindowPadding. (#462, (toward #1666, #1496, #1395, #1710)
7713c2925 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710)
04e9a2fac Backends: SDL3: rename SDL_EVENT_DISPLAY (#6974)
88fec0971 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957)
313676d20 Settings: omit outputing Collapsed=0 in .ini file. Changelog + docs tweaks
8ee85137d BeginChild(): Internal name used by child windows now omits the hash/id if the child window is submitted in root of id stack of parent window.
4e4042bc3 Windows: tidying up skipitems logic at end of Begin(), normally should be no meaningful side-effect.
bc3c6e74e Windows: fixed double-clicked border from showing highlighted at the new position.
e2035a514 Windows: shared code for CalcWindowMinSize().
c95fbb446 Windows: Double-clicking bottom or right window border auto-resize on a singles axis.
ade2acfd1 Inputs: Added IsKeyChordPressed() public helper function.
2a6d7b1ea Merge branch 'master' into docking
1b9cb52d7 BeginChild(): rename parameters to reduce diff of upcoming patches.
f8dc03d70 Windows: Can also auto-resize by double-clicking lower-left resize grip (not only lower-right one).
56f7e853b Demo: expose more Combo flags + misc tidying up.
9a5da2355 Changelog formatting
d6d00b4fc Moved BeginChild() above BeginChildEx() as it is more readable.
99913b505 Internals: added IsKeyChordPressed() for consistency.
a8bdbfddf Tables: Fixed top-most and left-most outer border overlapping inner clip-rect when scrolling. (#6765)
8db02ef8d Tables: Fixed an issue with ScrollX enabled where an extraneous draw command would be created.
51d1a72e9 Docking: Revised undocking logic to reduce accidental whole-node undocking:
4521dec85 Docking: Fixed DockNodeBeginAmendTabBar() asserting on first call since ef8ff1b
947255c3d Tooltips: made it possible to use ImGuiHoveredFlags_ForTooltip + a ImGuiHoveredFlags_DelayXXXX override. (#1485)
0b8c6b9bc Internals: removed seemingly unused AutoFitChildAxises.
12a3c77c2 Demo: Minor tweak to angled headers demo.
83c433682 Tables: fixed angled headers with frozen columns.
f96c5443b Tables: fixed angled headers with frozen columns.
f7fc18640 Merge branch 'master' into docking
32228d8ad Tables: added Angled headers support. Added ImGuiTableColumnFlags_AngledHeader, ImGui::TableHeadersAngledRow(), style.TableAngledHeadersAngle. (#2957)
9f851ebfe Tables: added ImGuiTableFlags_HighlightHoveredColumn.
be1311cfc Tables: fixed double-clicking on a column from clearing HoveredColumnBorder for a frame.
08606714a Fixed incorrect assert in FocusTopMostWindowUnderOne() preventing child+popup from being used. (#6915, #718)
5053d79a2 Tables: Internal: rework so stacked headers height may be used.
b9ebb8e06 Tables: fixed right-clicking right-most section (past right-most column) from highlighting right-most column.
feddcf303 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
112d8fc41 Combo: added ImGuiComboFlags_WidthFitPreview. (#6881)
001f102f3 IO, Backends: added ImGuiKey_AppBack, ImGuiKey_AppForward. (#6891, #4921)
7bbd75868 Backends: Win32: revert oops chunk.
b0758c86d Backends: Added support for extra ImGuiKey values: F13 to F24 function keys. (#6891, #4921)
73346e434 IO: Add extra keys to ImGuiKey enumerator: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921)
0312a29e4 ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
1107bffe8 Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value to false when popup is closed in ways other than clicking the close button. (#6900)
72ebd9156 Merge branch 'master' into docking
2c07d581d TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438)
085ed7bfb Drag and Drop: Rework drop target highlight. (#4281, #3272)
0dd756bce Moved GetCursorScreenPos/SetCursorScreenPos on top of its section.
a63e2f0a3 Drag and Drop: Fixed submitting a tooltip from drop target location. Added demo.
64b1aeebf Backends: OpenGL3: rename gl3w's loader symbols to allow LTO compilation with another copy of gl3w. (#6875, #6668, #4445)
28b237f94 Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759)
330d76347 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
9064dbd40 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424)
a61438740 Debug Tools: Metrics: Added "Show groups rectangles" in tools.
d27b4ad36 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889)
17bfafda5 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
ff534b0d0 Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)
f8aed6499 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
701a047ac Fonts: Fix clang compiling warning & error with freetype + lunasvg (#6873, #6842, #6591)
03e2a7f58 Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
c21278eea Debug Tools: Rename ShowIdStackToolWindow() -> ShowIDStackToolWindow(). (#4631)
b7c250925 Merge branch 'master' into docking
2f431a948 IO: removed io.MetricsActiveAllocations introduced in 1.63. Same as 'g.DebugMemAllocCount - g.DebugMemFreeCount' (still displayed in Metrics.
f1519efb1 BeginGroup(): fix/amend 9ece0bd.
456aa3bc0 Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
9ece0bdc0 BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call to SameLine() followed by manual cursor manipulation.
8175a4788 Debug Tools: Renamed ShowStackToolWindow() ("Stack Tool") to ShowIdStackToolWindow() ("ID Stack Tool"). (#4631)
204ae8a40 Internals: added ImRect::ContainsWithPad()
bb2fb7464 Merge branch 'master' into docking
94da5842e Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861)
c41868531 Fixed window inner clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884)
e5ca5351d TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
72ae6f520 Fixed MousePosPrev with has never been valid outside of NewFrame().
12ee2dd78 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859)
d4869207e Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846)
f4790f6f6 BeginItemTooltip: Rename flag in comment (#6853)
daf49e9d8 Made ImFileOpen reuse a memory buffer so .ini saving doesn't allocate once every time. Added commented out MemAlloc/MemFree debug log.
2c0007731 Docking: fixed calling DockContextCalcDropPosForDocking() with window in node without passing its node.
61acb34e3 Docking: Fixed an issue leading to incorrect restoration of selected tab in dock nodes that don't carry the currently focused window. (#2304)
3ce6b06fe Merge branch 'master' into docking
d6360c1ba Fonts, imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591)
6c022f9bf IO, Inputs: rename SetMousePos() to TeleportMousePos(). (#6837, #228)
ff36fe365 IO, Inputs: setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228)
ef8ff1b5d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
64b1e448d TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
ac3bc73c1 Docking: Fixed node tab-bar not having a filled value for tab-bar which is required for claiming moue wheel ownership in (unenabled) ImGuiTabBarFlags_FittingPolicyScroll mode.
afd0d3fca Docking: made ImGuiDockNodeFlags_NoUndocking public. (#2999, #6823, #6780, #3492)
72d760ba0 Docking: (Breaking) renamed ImGuiDockNodeFlags_NoDockingInCentralNode -> ImGuiDockNodeFlags_NoDockingOverCentralNode, ImGuiDockNodeFlags_NoSplit -> ImGuiDockNodeFlags_NoDockingSplit.
f693c3d80 Docking: made "ImGuiDockNodeFlags_NoDocking" a combination of all others ImGuiDockNodeFlags_NoDockingXXX flags. (#2999, #6823, #6780, #3492)
7e246a7bb Merge branch 'master' into docking
6addf28c4 Fonts: Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers prior to building again. (#6825)
161281311 Docking: Internals: added ImGuiDockNodeFlags_NoUndocking. (#2999, #6823, #6780)
14f8b76c1 Docking: Comments. Removed misleading shared/local identicators. (#6823, #2999)
b101cf46b ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis.
8a2cd8109 TypingSelect: always enable nav highlight.
223b19f11 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS.
779568bb3 TypingSelect: tidy up some more + split ino functions to make reuse simpler.
661a70fc7 TypingSelect: fast switch between characters in + debug, internal renames.
32171a8b0 Fonts: Better assert during load when passing truncated font data or wrong data size. (#6822)
c32db3c72 Tables: Fixed an edge-case when no columns are visible + table scrollbar is visible + user code is always testing return value of TableSetColumnIndex() to coarse clip.
c86ce7096 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience.
f336e639e TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
9714594c3 Tooltips: made using SetItemTooltip()/IsItemHovered(ImGuiHoveredFlags_ForTooltip) defaults to activate tooltips on disabled items.. (#1485)
6eb2681c0 Internals: InitOrLoadWindowSettings() clear Size again for better data nuking in tests. Debug Log: added ImGuiDebugLogFlags_OutputToTestEngine flag.
bed492da7 Tables: amend support for auto-resize. (#6807)
556a1397a Tables: Remove comment referencing removed field SortSign (#6807)
3aceb6105 Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)
da21b7431 Tables: Fixed subtle drawing overlap between borders in some situations. (#2957, #6765)
5a483c2ff Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong in some situations, causing the earlier to be visible underneath when alpha is not 1.0f.
a34071876 Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752)
357f752be Docs: add more links to the top of every examples and backends files.
b9ab6e201 Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. (#6802, #3092, #5759, #787)
0e1ce76ea InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
bd63a9f05 Fonts: 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. (#3164, #3309, #6800)
72dbe45ad Merge branch 'master' into docking
0962c9fb7 TypingSelect: Added first version of GetTypingSelectRequest() API.
781203940 ImVector: Added find_index() helper.
44a6b493e Commented out obsolete ImDrawCornerFlags_XXX. Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for AddRect()/AddRectFilled()/PathRect()/AddImageRounded()
becd75676 Commented out obsolete redirecting function: GetWindowContentRegionWidth().
727c46206 Internals: Added ImTextFindPreviousUtf8Codepoint() helper + comments.
c9d3c29aa Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725)
e3d9b875c ImDrawList: added PathEllipticalArcTo(), AddEllipse(), AddEllipseFilled(). (#2743)
fa2e5710a MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
56a7b8b72 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019)
d8ef864b0 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
cf1c4a0cb BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false.
fb9b00686 Version 1.90 WIP
f24387fa2 Version 1.89.9 (fixed changelog header)
c4dc8fd10 Docs: Update FONTS.md (#6781, #6632, #6339, #5763, #5330, #2234, #2042, #1259, #951, #220)
c6e0284ac Fixed minor warning.
1d8e48c16 Using range-based for where it makes sense. (#4537)
a1b60fc1f Merge branch 'master' into docking
fef338915 Version 1.89.9
7b5fb3329 Tables: Internals: renamed CellPaddingY to RowCellPaddingY.
bdc4dfebf Tables: Amend support for cross-cell SameLine() for first column. Amend 9a93fb5 + 8f5ce73.
9a93fb571 Tables: Fixed support for cross-cell SameLine() by preserving Line Y1 position. Amend 8f5ce73.
e8a5c9e1b Tables: Made it possible to change style.CellPadding.y between rows. Added demo.
3816d478d ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
8c497793f Demo: Tweak table sorting demo code.
303dc091b Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)"
b8f93a8fe IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)
a06607405 Clipper: Fixed a bug if attempt to force-include a range which matches an already included range. (#3841)
bdd9b96fa Demo: Reorganized "Examples" menu. Tweak Property Editor.
300464a48 Docking: when io.ConfigDockingWithShift is enabled, staying stationary while moving a window displays an help tooltip to increase affordance. (#6709, #4643)
7d6e83efc Docking: Fixed non-root dockspace not having their background rendered properly.
08b3a1a34 ImDrawList: Automatically calling ChannelsMerge() if not done after a split.
f93d0befa Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
d6e9fad60 Tables: Fix typo in TableGetSortSpecs comment + amend comment. (#6755)
82d177ccb Using range-based for where it makes sense. (#4537)
762ec445e Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)
33ea1e8b7 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722)
475453668 Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735)
f617fe789 Clipper: Renamed IncludeRangeByIndices()/ForceDisplayRangeByIndices() to IncludeItemsByIndex(). (#6424, #3841)
200053771 Clipper: Added IncludeIndex() helper to include a single item. (#6424, #3841)
4a7810e99 Update README.md
981abb461 Examples: Emscripten+webgpu: Fixed WGPUInstance creation process + use preferred framebuffer format. (#6640, #6748)
61d35972e CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. Amend for Docking. (#6749)
676497fe0 Merge branch 'master' into docking
4a8142449 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749)
b41811a68 CollapseButton: handle clipping better + align circle like in docking branch.
040e818d7 Fix typo in SameLine comment (#6745)
162f8e01a Backends: SDL3: fixed typo in 1e17d59 (#6735)
ba1fa904a IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
a1a7a1bc0 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278)
a6857ede0 IO: fix writing to incorrect union section for MouseSource in AddMousePosEvent and AddMouseButtonEvent. (#6727, #2702)
c06c79624 TreeNode: added note about ImGuiTreeNodeFlags_Bullet.
116130138 Backends: amend "Missing features" sections for multi-viewports support.
1e17d5996 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
983b95bc8 Demo: tweak explanation about static keyword. (#6718)
d2c7cbcbf Misc: Made multiple calls to Render() during the same frame early out faster.
ac64b6563 Render: draw dimmed background earlier to match docking code. (#6716)
f422e7826 ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum of individual ImDrawList's buffer sizes. (#6716)
8f5ce7314 Tables: Made it possible to use SameLine(0,0) after TableNextColumn() or TableSetColumnIndex() in order to reuse line height from previous cell.
1362fc0c5 Debug, Internals: Added DebugDrawCursorPos(), DebugDrawLineExtents() helpers.
63b6300c3 Merge branch 'master' into docking
bc3c0ce77 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
edebb90a9 Demo: amend/fix for MinGW
4d6fbaff1 Demo: define standard PRI names we use (if missing) instead of defininig IM_PRId64, IM_PRIu64.
226923fa7 Metrics: Fixed "Drawlists" section and per-viewport equivalent appearing empty (regression from c649aca).
2b1fc6f76 Demo: Demonstrate out-of-order rendering using ImDrawListSplitter.
cf3726bcb Internals: rename bg/fg drawlist holders in structs to reduce confusion.
52587c28d ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317)
f8c768760 Typo fix: _NoHostExtenY -> _NoHostExtendY (#6687)
c00e68102 Docs: update CONTRIBUTING.md
b7a7d673b Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679)
d6d94d90b Version 1.89.9 WIP
f8704cd08 Merge branch 'master' into docking
f7eea6387 Version v1.89.8
30594c37d Merge branch 'master' into docking
ab490dc7b Fonts: Amends for support for OpenType SVG fonts using lunasvg (#6591, #6607)
2ad8c60ab Fonts: Added support for OpenType SVG fonts using lunasvg (#6591, #6607)
19ae142bd Mark alternative ImColor constructors as constexpr, second attempt (#6656)
dc2b0a282 Disable -Wreserved-identifier warning on Clang (applying to member fields seems excessively weird).
88a330ebe Revert "Mark alternative ImColor constructors as constexpr (#6656)"
fa2f1bfbb Examples: Vulkan: Fixed Vulkan descriptor pools. (#6642)
7c5b0e829 Mark alternative ImColor constructors as constexpr (#6656)
eefc9035f Fonts: ImFontConfig::OversampleH now defaults to 2 instead of 3.
c87b9fdb1 Docs update. Improved Fonts troubleshooting section.
556ce9f54 imgui_stdlib: Fix warning (#6658)
79d6f4e21 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791)
f1781c20a Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable stb_sprintf implementation (#6626)
f8f805f04 Merge branch 'master' into docking
1109de382 Tooltips: fixed ImGuiHoveredFlags_ForTooltip conflicting with ImGuiHoveredFlags_NoNavOverride since 10c7709f. (#6622, #1485)
db66e33e9 Tables: fixed GetContentRegionAvail().y report not taking account of lower cell padding or of using ImGuiTableFlags_NoHostExtendY. (#6619)
2bc5d17ac Tables: fixed calculation of multi-instance shared decoration/scrollbar width of scrolling tables. (#5920, #6619)
e5977f05d Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609)
d342ec10c Overlap, IsItemHovered: clarification on using IsItemHovered() on a non-reactive item after a reactive overlappable one. (#6610)
52125a54a Tables: added TableGetHoveredRow() in imgui_internal.h. (#6250, #6347, #6588, #3740)
77eba4d0d CI: resume using latest Emscripten
3dc3aef8a Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188)
0e8eb8c48 Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
863ac31f0 Doc: various tweaks + tweak imconfig comments.
07d1709ca Doc: removed "generic" docking/viewport branch section of changelog since this is misleading. Will add formally when we reelase. (#2109, #1542)
33e13c85e Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601)
023e59a5f ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
6888e6cdf ImDrawData: call _PopUnusedDrawCmd() later. as RenderDimmedBackgrounds() rely on a valid command being there (especially in docking branch). (#6406, #4879, #1878)
0110f4c8c Merge branch 'master' into docking
dbeeeae59 ImDrawData: Slight refactor so internal logic uses same logic as AddDrawList(). (#6406, #4879, #1878)
1a9ddd239 ImDrawData: added AddDrawList() helper function. (#6406, #4879, #1878)
c649aca20 ImDrawData: changed CmdLists from raw array to ImVector<> owned by ImDrawData itself. Faclitate user-manipulation of the array (#6406, #4879, #1878) + deep swap. (#6597, #6475, #6167, #5776, #5109, #4763, #3515, #1860)
cc4c37dba Nav: PageUp/PageDown always set NavJustMovedTo even when landing on same spot (which can trigger a selection).
51b348095 Docking, Style: resizing separators use same colors as window borders. (#2522)
b7cdb5a31 Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f4942bca3 Docking: follow to 27c735e to fix rendering of docked-window scrollbar above outer border. (#2522)
27c735e3e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
f6feddd1e Merge branch 'master' into docking
b79751eba Docking: Added DockingSeparatorSize to style: amends (#3481, #4721, #2522)
a5aff5fd3 Docking: Added DockingSeparatorSize to style (#3481, #4721, #2522)
5ce636b0b Tweak to accomodate for build* directories anywhere.
140726d23 Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
b32ef809c InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false.
334929637 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
6aa408c6a IO: Added io.ClearEventsQueue(). Obsoleted io.ClearInputCharacters(). (#4921)
9a15730c2 Demo: better showcase use of SetNextItemAllowOverlap(). (#6574, #6512, #3909, #517)
3fe431931 Version 1.89.8 WIP
8566fec66 Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573)
dc3e531ff Merge branch 'master' into docking
d4ddc46e7 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
40aac5875 Changelog amends
ac8573884 Backends: Vulkan: Amends for docking branch. (#5446, #5037)
677c7b225 Merge branch 'master' into docking
cb9015e25 Version 1.89.7
121072cfe Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
7812e836e Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
dcdb14571 Docs: Fix outdated link in freetype docs (#6568)
1029f57b8 Inputs, Tooltip: Rework stationary timer logic as it broke on high-framerates with lower rate of mouse inputs. (#1485)
64172685d InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615)
655aae591 Comments + docs: tidying up todo list + demo tweak for tooltips.
a02315e1c Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182)
a88e5be7f Merge branch 'master' into docking
6137443d2 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
4dee919bc (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
10c7709f3 Overlap: IsItemHovered: Changed behavior to return false when querying an item using AllowOverlap mode. Added ImGuiHoveredFlags_AllowWhenOverlappedByItem, ImGuiHoveredFlags_AllowWhenOverlappedByWindow., (#6512, #3909, #517)
8439a7364 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
a9a5cbf43 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909)
07e24b405 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic.
51f564eea (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
06f5b4613 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517)
b03a4993b Internals: reorder tests in ItemHoverable() so most likely early out are taken first.
836aff346 Drag and Drop: Amend ItemHoverable() logic for item with no identifier.
d5d4d709c Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
a2f658117 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c)
3ec128c5f Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
cada78917 Tables: removed misleading, seemingy useless use of ImGuiButtonFlags_AllowtemOverlap in TableUpdateBorders(). (#6512, #3909)
0a53b4585 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549)
6b0111405 Merge branch 'master' into docking
057fcae30 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 4.
35b41949f Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 3.
099e8533e Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 2.
66c09fc05 Docking+Viewports: Fixed extraneous viewport+platform-window recreation. Part 1.
7d81a166f Docking: Fixed one-frame flickering on reappearing windows binding to a dock node where a later-submitted window was already bound.
6b2e03c5b GetKeyName(): Fixed assert with ImGuiMod_XXX values when IMGUI_DISABLE_OBSOLETE_KEYIO is set.
e4aeef4b9 Viewports: Closing a viewport via OS/platform means (e.g. OS close button or task-bar menu), mark all windows in this viewport as closed.
94c46d748 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620)
cb5542bce Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333)
959a9c79b TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538)
e0583975c Demo: Fix typo (amusingly had no side effect).
1450d23b6 Merge branch 'master' into docking
9214c28aa IsWindowHovered, IsItemHovered: Assert when passed any unsupported flags.
e7a4327eb IsWindowHovered: Added support for ImGuiHoveredFlags_Stationary.
b60acfa87 Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section.
0f72652c2 IsItemHovered, Tooltips: Added io.HoveredFlagsForTooltipMouse, io.HoveredFlagsForTooltipNav now pulled by ImGuiHoveredFlags_Tooltip. (#1485)
b3b8cbd00 IsItemHovered, Tooltips: Added ImGuiHoveredFlags_ForTooltip, ImGuiHoveredFlags_Stationary. (#1485)
d4b94bd65 (Breaking) Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal. (#1485)
f09ef23ae IsItemHovered, Tooltips: Tweak default delay again. (#1485)
d96bbf0aa TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
194916135 Internals: renamed HoverDelay fields.
15d74bad1 Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff).
b9db5c566 Backends: Win32: Added support for updating ParentViewportID after viewport creation.
89d3dabf2 Modals: In the case of nested modal, made sure that focused or appearing windows are moved below the lowest blocking modal (rather than the highest one). (#4317)
eec344cc1 Tweak HoverDelayClearTimer. Not exposing since I am unsure logic is viable (and is rather complex with upcoming addition of stationary logic). (#1485)
6cabad6e7 Encode version string in binary to facilitate identification when demo/tools are striped + amend About window.
534340cd8 Tooltips: Tweak default offset for non-drag and drop tooltips.
e95d66faa Clipper: Rework inner logic to allow functioning with a zero-clear constructor. (#5856)
ef07ddf08 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
9c1697674 Debug Tools: Added 'io.ConfigDebugIniSettings' option to save .ini data with extra comments.
fa5d2656b Docking: DockBuilderDockWindow() API calls don't clear docking order if the target node is same as existing one
3cc9d2051 Examples: Win32+OpenGL3: Fixed not calling DefWindowProcW() as with other Win32 examples. (#6516, #5725, #5961, #5975)
3f63cee4c Docking: Fixed dragging from title-bar empty space (#5181, #2645)
884e3fd21 Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114)
dec082ff9 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
066487799 Merge branch 'master' into docking
4fab72b40 BeginChild/Tables: Fixed BeginChild temporary activation id collision. Fixes regression in 1.89.6 leading to the first column of tables with either ScrollX or ScrollY flags from being impossible to resize. (#6503)
a134892a3 BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658)
666b93e98 Demo: fixed a misuse of EndChildFrame(). (#6496)
956a1a17f Internals: add ImGuiNavMoveFlags_NoSelect and use in FocusItem().
31f11cf30 Internals: Added FocusItem(). Made activation explicit/opt-in via ImGuiNavMoveFlags_Activate. Rename ActivateItem() to ActivateItemByID().
8fd0a0413 Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
61ebb3784 Version 1.89.7 WIP
f1777f951 Demo: fix casing swap demo inserting garbage characters when typing lowercase letters (#6482)
823a1385a Merge branch 'master' into docking
5319d1cff Version 1.89.6
075b975fe Fonts: Fixed crash when manually specifying an EllipsisChar that doesn't exist. (#6480)
b47618457 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286)
0b57c07c7 Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
b709b02e9 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286)
88e7d773d Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286)
216ae7db5 Examples: SDL3: Added clues that Emscripten doesn't support SDL3 yet. (#6386)
3418d5094 Viewports: Fixes erroneous popup closure on closing a previous popup. (#6462, #6299)
f0f3b927e Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473)
6cc967a12 Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468)
2e810d575 Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459)
19b436f68 Backends: GLFW: Preserve monitor list when there are no monitor. (#5683)
7e03ae324 Window: Fixed resizing from upper border when io.ConfigWindowsMoveFromTitleBarOnly is set. (#6390)
7947f327d Demo: added casing swap demo to clarify use of ImGuiInputTextFlags_CallbackCharFilter. (#6457) + Metrics: simplified some code.
47579f8a4 Nav: set NavJustMovedToXXX fields on NavInit result + BeginChild() clears ActiveId on N+1 on entering instead of waiting for ID to elapse on N+2.
52e19113f Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450)
08145bc45 Fonts: Fixed crash when merging fonts and the first font has no valid glyph. (#6446)
54c1ac3e3 Merge branch 'master' into docking
45c8c3b61 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
df8667b18 Comments/typos tweaks
2c558d574 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators.
e590b5114 Viewports: Fixed loss of imgui-side focus when dragging a secondary viewport back in main viewport. (#6299)
c8579abb4 Examples: DX9: Fix WM_SIZE handling bug introduced in 031e152d2. (#6374)
7348e9926 CI: temporarily use Emscripten 3.1.37 because 3.1.18 has a regression.
e489e40a8 Clipper: Amend ecb0aaa (#6424, #3841)
ecb0aaa7c Clipper: Renamed ForceDisplayRangeByIndices() to IncludeRangeByIndices(). (#6424, #3841) + commented out obsolete ImGuiListClipper() constructor.
a550263d6 Misc: made ErrorCheckEndWindowRecover() handle font stack. (#6431, #1651)
bcfc1ad8f Nav: Forwarded (wrap/loop) request don't mistakenly wreck reference pos.
530134d12 Merge branch 'master' into docking
430c05991 Docs: added more detailed information about UTF-8 encoding.
513af1efc Examples: Updated all Visual Studio project file to use /utf-8 option, so string literals are UTF-8 encoded by default.
0397321be Debug Tools: Added 'io.ConfigDebugIgnoreFocusLoss' option. (#4388, #4921)
6656553fa Nav: Record/restore preferred position on each given axis.
39f7248d4 Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
dd9db5e88 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375)
6cdedf583 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405)
70cca1eac Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
5dc601371 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391)
7c291ba31 Tables: Fixed command merging when compiling with VS2013. (#6377)
085fa42b7 Adedd workaround for GCC erroneous/zealous warning (#5343)
031e152d2 Examples: DX9, DX10, DX11: Queue framebuffer resize instead of processing in WM_SIZE. (#6374)
15da1a9ab Fixed misleading local name (#4493) + minor typo (#6369)
031148dc5 Fixed bad merge.
fd943182b ImVec2: Added unary minus operator (#6368)
594cc4793 Merge branch 'master' into docking
d3ad2f357 Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
b47507951 Nav: Fixed CTRL+Tab into a root window with only childs with _NavFlattened flags erroneously initializing default nav layer to menu layer.
eed7b0e9c Nav: remove other-axis clamping, now that columns themselves are clamped. (#2221)
da3d7e158 Focus: added an early out in FocusWindow() for the common case.
565aa0b76 Examples: Vulkan: pick integrated GPU if nothing else is available. (#6359)
0fbf2888e Examples: example_glut_opengl2: Fixed compilation issue (#6361)
d2291df55 Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
bba39762d Merge branch 'master' into docking
4d42450a7 Focus: amend ImGuiFocusRequestFlags_UnlessBelowModal to bring to front-most below the modal, simplify code in Begin(). (#6357, #4317)
01ca19653 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
30eceaf95 Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317)
f0fe1957a Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge.
ac38c8e6f IO: removed ImGuiBackendFlags_HasMouseHoveredViewport assert in AddMouseViewportEvent().
c11128891 Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348)
adf693c06 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant).
00d3f9295 Nav: Fixed navigation within tables/columns where item boundaries goes beyond columns limits. (#2221)
8d9e50c80 Nav: fixed IMGUI_DEBUG_NAV_SCORING not setting NavMoveClipDir, leading to debug result not matching real results.
662ce4697 Debug Log: Fixed not parsing 0xXXXXXXXX values when the identifier is at the end of the line.
07e07030a Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
a89590b42 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
88ac2ced7 Backends: DX10: Fixed typo in previous commit.
f498f084d Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
4bc51c6ff Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
1f2b84a65 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
4f692ba84 Merge branch 'master' into docking
9308cfdcf Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a566ecc58 Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
a338b78eb Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d0836aa89 Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333)
d6a7aca2f Nav: Debug: tweak debug facilities.
0948cfc19 InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341)
e49d31a1c Tables: do not show empty tooltip when user submits TableHeader with no label to display. (#6342)
f94a8344f Fix minor typos in FAQ (#6328)
055e71518 Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
f304603e1 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337)
064153fca Version 1.89.6 WIP
0ea3b87bd Merge branch 'master' into docking
1ebb91382 Version 1.89.5
ba98667c6 Examples: Vulkan: further work for device extensions + tentative use o fVK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME. (#6109, #6172, #6101)
632428043 Examples: Vulkan: rework extensions setup + enable some to avoid validation layer errors. (#6109, #6172, #6101)
995f92a45 Nav: Made PageUp/PageDown/Home/End navigation also scroll parent windows.
bed11b35d Fix typos and use nullptr in backends. Amend 506f7e0
aec062a8a Merge branch 'master' into docking
d81f2ae4f Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
e67f2f479 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
cbdac1e15 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
18d72a914 Inputs: added a unique event identifier in ImGuiInputEvent.
506f7e007 Using nullptr in locations where warning disable is not convenient. (#6313, #4537)
9203883bb Comments + Metal using SetTexID(0) for consistency.
e92b29ad5 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
db4c4e332 Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921)
1668693bc Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953)
ec461c6cc Merge branch 'master' into docking
a7703fe6f Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
8738ed88f Fixed FindWindowSettingsByID() being able to return a deleted setting.
63370be0e Viewports: fix/amend dcb6335 to (1) avoid refocusing when focus action was actionned from a click within imgui boundaries and (2) restore a null focus as well. (#6299)
1f0b46b93 Viewports: moved Platform_GetWindowFocus queries in UpdateViewportsNewFrame(). Added ImGuiViewportFlags_IsFocused status flag. (#1542)
ed72fcd12 Viewports: Internal: rename LastFrontMostStampCount -> LastFocusedStampCount. Rename ImGuiViewportFlags_Minimized -> ImGuiViewportFlags_IsMinimized
dcb6335bf Viewports: Setting focus from Platform/OS sets corresponding focus at Dear ImGui level. (#6299)
47a07d847 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
ee5ce3674 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
c9fe7ebc7 IO: Input queue trickling adjustment for touch screens. (#2702, #4921)
f070497cb Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
a16f99c6a IO: Added io.AddMouseSourceEvent() and ImGuiMouseSource enum. (#2702, #2334, #2372, #3453, #5693)
9a1e09eb1 Fixed ImVec2 operator[] warning.in Clang. (#6272)
13931fd85 Redirecting domain name
e8206db82 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714)
4fdafef54 Merge branch 'master' into docking
5f301914a TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702)
84fd0c7ff Inputs, IO: record MouseWheelRequestAxisSwap information. Apply in UpdateMouseWheel() before legacy ctrl+wheel.
a38e3c222 Fixed ImVec2 operator[] violating aliasing rules causing issue with Intel C++ compiler. (#6272)
f65bcf481 Docs: added details and link to wiki from imgui_stdlib to increase discoverability.
8a6911b89 Backends: Fixes zealous warnings (#5760)
7dcf129b3 Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224)
821814b45 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067)
bf87fbcbc Docking: Fixed using GetItemXXX() or IsItemXXX() functions after a DockSpace(). (#6217)
89d09070e Nav: Made Ctrl+Tab/Ctrl+Shift+Tab windowing register ownership to held modifier. (#4828, #3255, #5641)
c98bad042 ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles.
9ac94ff00 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
ad44f5831 Merge branch 'master' into docking
d885094be Demo: stop relying on internal function.
e55a0ef10 IO: avoid changing context in AddKeyAnalogEvent(). Amend 7269498. (#6199, #6256, #4921, #5856)
7269498ec IO: actually fixed adding events from inactive context (#6199, #6256, #4921, #5856)
5320a6ebd Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146)
cac76b275 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
5a2b1e848 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
314e6443c Internals: removed ImGuiInputSource_Nav enum,
5d4a8978b Docs: added all older versions to Changelog.
c501c2d4c Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case.
6b3435a2d Merge branch 'master' into docking
91577c7f5 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034)
301c95603 Examples: Windows: Added 'misc/debuggers/imgui.natstepfilter' file to all Visual Studio projects. (#3038)
8b6e021f3 Demo: Fixed typos. (#6247)
ae4dad09b Examples: SDL3: Updated for latest WIP SDL3 branch. (#6243)
85beda96d Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683)
0d606968d Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530)
24a44b9ab Version 1.89.5 WIP
9e30fb0ec Merge branch 'master' into docking
f3f6295d5 Version 1.89.4
e39c2552a Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240)
cc2177de1 Debug Tools: Added io.ConfigDebugBeginReturnValueOnce / io.ConfigDebugBeginReturnValueLoop options.
552969e33 BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
c426e3224 Tables: Fixed an issue where user's Y cursor movement within a hidden column would have side-effects.
6ca1556d0 Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)
9937660b1 Merge branch 'master' into docking
bb224c8aa Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default.
2bb9e35a4 Nav: Tabbing now cycles through all items when ImGuiConfigFlags_NavEnableKeyboard is set. (#3092, #5759, #787)
e83fb468c Renamed PushAllowKeyboardFocus()/PopAllowKeyboardFocus() to PushTabStop()/PopTabStop(). (#3092)
a322122f7 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
3b2f61765 BeginTooltip: Added 'bool' return value to BeginTooltip() for API consistency. Updated demo.
e2cede654 Merge branch 'master' into docking
b5f938103 Made internal clipboard/IME handlers not rely on implicit GImGui context (#5856)
c8ad25caa Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
10ace228b Make classes not depend on the implicit GImGui context (#6199, #5856, #6199): ImGuiIO
5a1e6b60a Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and frame time > repeat rate. (#6171)
c9a53aa74 Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
b4b79584d Internals: added GetStyleVarInfo(). exposed previously .cpp only ImGuiStyleVarInfo as ImGuiDataVarInfo.
57d0fcd02 Examples: Fix Android example build for Gradle 8. (#6229)
b6586bb06 TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags.
1c29a8ed1 Debug Log: auto-disable ImGuiDebugLogFlags_EventClipper to reduce spam.
f5c5a710a Docking: exposed DockNodeWindowMenuHandler_Default() in imgui_internal.h to facilitate reuse.
4078abe14 Merge branch 'master' into docking
702626dd8 Docking: storing window menu handler in a function pointer to allow customizing menu (undocumented)
66b762577 Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224)
bfce7750b Simpified code in GetKeyData() and used ImGuiKey_KeysData_OFFSET for consistency. Rework demo, Comments. Moved ImGuiKey_KeysData_OFFSET to internal.h (#4921, #6191)
2496b973f Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644)
e9743d85d Drag and Drop: Clear state on EndDragDropTarget() with delivery + fixed handling of overlapping targets when smaller one is submitted before and can accept the same data type. (#6183, #5817)
2ee77aa6b Missing closing parenthesis in debug popup log (#6177)
696a53353 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing.
752603bc7 Fixed imgui_single_file.h for IMGUI_DEFINE_MATH_OPERATORS change. (#6164, #6137, #5966, #2832)
a1b8457cb Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832)
e25e4526c Merge branch 'master' into docking
5d7489128 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162)
4f630b044 imgui_freetype: fixed non-ASCII characters in sources. (#6166)
204cb4d22 Version 1.89.4 WIP
192196711 Merge branch 'master' into docking
458a10903 Version 1.89.3
b0c181666 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
fa0852f9e ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
092b6825a Fonts: Assert that in each GlyphRanges[] pairs first is <= second.
345184330 Internals: Settings: amend ClearWindowSettings() for Docking.
ea4565368 Merge branch 'master' into docking
f0ac68ad3 Internal: Settings: amend 0b86513 revert to use FindWindowSettingsByID().
082b20e46 Internals: Settings: added ClearWindowSettings(). Extract part of CreateNewWindow() into InitOrLoadWindowSettings().
b2ebd03b1 Internals: Settings: moved Windows setting to their sub-section.
0b865136e Internals: Settings: Added FindWindowSettingsByName() (replacing old version by ID) FindWindowSettingsByWindow() + remove unnecessary FindOrCreateWindowSettings().
0d7d877cb Backends: SDL3: Update for latest.
99c0bd65d Added SeparatorText() widget. (#1643)
85395b76b CI: Update versions.
fac19e188 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146)
734c6af18 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953)
95412ad3a Backends: SDL3: Removed unnecessary #ifdef.
a526ff8c3 Backends: SDL3: Added multi-viewports support. (#6146)
e4233c6fb Merge branch 'master' into docking (doesn't include viewports-related changes for new SDL3 backend)
13fbd9949 Backends: SDL3: update to run with SDL3. Examples: Add SDL3+Gl example. Remove some version checks. (#6146)
d9bf80f65 Backends: SDL3: copied imgui_impl_sdl2 into imgui_impl_sdl3 and ONLY replaced strings (1/2). (#6146)
e816bc672 Merge misc changes from docking branch to reduce small drift.
1b27ac982 Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
c807192ab Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
d6ea56dfd Tables: amend f799a29 with a better solution + fix potential overflow (#6140)
ea39841fc Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
b0a936e5d Merge branch 'master' into docking (incl revert of examples refactor)
97a1f761c Examples: (Again, but better) made SDL+GL and GLFW+GL examples build with Emscripten. (#2492, #2494, #3699, #3705)
f43c6ea6a Revert most of "Examples: refactor all examples with a MainLoopStep() function..." (#2492, #3699)"
f799a293c Tables: Solved an ID conflict issue with multiple-instances of a same table. Storing instance id for convenience. (#6140)
c75410e72 Debug: fix display order of InputText's data CurLenA/CurLenW (#6143)
a08558105 Backends: GLFW: added ImGui_ImplGlfw_SetCallbacksChainForAllWindows(). (#6142)
265b88273 Backends: Fixed pragma warning with old GCC.
d0b1aaa07 Backends: GLFW: Registering custom low-level mouse wheel handler to get more accurate scrolling impulses on Emscripten. (#4019, #6096)
6584de4a7 Backends: SDL: Avoid calling SDL_SetCursor() when cursor has not changed. (#6113)
5ebb6a295 Merge branch 'master' into docking
46efed8b7 CI: Fix Emscripten build.
1f1861dae Backends: Added support for SDL 2.0.18+ preciseX/preciseY mouse wheel data for smooth scrolling + scaling for Emscripten. (#4019, #6096)
5386ddcd0 Merge branch 'master' into docking
624c057ae Backends: GLFW: revert flipping mouse-wheel axis for Emscripten. (#4019)
ce6e6da51 Examples: Made example_sdl_opengl3 and example_glfw_opengl3 build with Emscripten. Removed dedicated examples. (#2492, #2494, #3699, #3705)
96ab68eee Examples: refactor all examples with a MainLoopStep() function, to facilitate use with Emscripten. (#2492, #3699)
b51919dce Examples: Emscripten+GLFW: revert to use a shell_minimal.html closer to vanilla one, as our fullscreen + misc tweaks to Emscripten+SDL example to match other version.
0370856d7 Backends: GLFW: Removed mouse-wheel value scaling for Emscripten. (#4019, #6096, #6081)
f822e07d7 Backends: SDL: Removed SDL_MOUSEWHEEL value clamping. (#4019, #6096, #6081)
887abe957 Merge branch 'master' into docking
3617a9637 Backends, Inputs: Made horizontal scroll wheel and horizontal scroll direction consistent accross backends/os. (#4019, #6096, #1463)
8d29665ae Backends: OSX: Fixed scroll wheel scaling for devices emitting events with hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
2efebe331 ShowFontAtlas, Demo: optionally use style text color for tint. (#6129)
5a3f82e2f Examples: SDL+SDL_Renderer: Added call to SDL_RenderSetScale() to display is correct on a Retina display (albeit lower-res as our other unmodified examples). (#6121, #6065, #5931).
867bdbecb Text: fixed issue in RenderText() leading to IM_ASSERT_PARANOID() triggering if enabled. (#6132, #5720, #5919)
d71977646 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126)
f14288708 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
259560aa2 Demo: moved sections around in prevision for adding nicer separators.
27f2dd56d Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
d73e3285d Backends: WebGU: Revert the implicit render pipeline layout generation as introduced in 83bdfef (#6117, #4116, #3632)
fc5053221 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip).
5741cbae4 Internals: ImFileOpen: fixed misleading use of ImWchar (would allocate more when ImWchar=ImWchar32) + update version for previous changes namely tab bar ones.
f4ef420c0 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067)
07490618a Misc: Tolerate zero delta-time under Emscripten. (#6114, #3644)
fe0a24f38 Examples: Win32: Fixed examples using RegisterClassW() since 1.89 to also call DefWindowProcW(). (#5725, #5961, #5975)
3d8885cbb TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
739a79b1e ImDrawList: Added missing early-out in AddPolyline() and AddConvexPolyFilled() when color alpha is zero. Window: Avoid rendering shapes for hidden resize grips.
f6db9e2f3 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116)
e8421de23 imgui_single_file: include imgui_freetype.cpp if the define is set.
8f907bc9a imgui_freetype: fix warnings (#6104), fix typos. (#6079)
88dfd85e9 Merge branch 'master' into docking
91667430a Tables: increase table columns limit from 64 to 512 using bit array allocated in contiguous memory +. (#6094, #5305, #4876, #3572)
14908cba8 Internals: ImBitArray, ImBitVector: using macro helper for common op + disable stack checks on MSVC agressive debug builds.
db5542287 Tables: removed hot RequestOutputMaskByIndex bit-array as majority of code-paths are already touching the cold parts.
6342275bb Backends: GLFW: Handle unsupported glfwGetVideoMode() for Emscripten. (#6096)
3482d4ecc Text: Fixed layouting of wrapped-text block skipping successive empty lines. (#5720, #5919)
0359f6e94 Internals: ImDrawList: shallow tweaks to RenderText().
51c97a41a PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets.
82fdd7018 Update FAQ.md
ccf94e2e6 Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9
55b8ce9b2 Reword ImTextCharFromUtf8() to avoid a warning + marked UTF-8 functions with IM_MSVC_RUNTIME_CHECKS_OFF. (#5987)
1297a2be5 Text: Tweaked rendering of three-dots "..." ellipsis variant. Baking more data. (#2775, #4269)
8801f0294 Text: Fix clipping of single-character "..." ellipsis when font is scaled. (#2775
482ac70a0 Version 1.89.3 WIP
46b9c09e4 Update .gitignore
a218d3a82 Update information in ImFontAtlas::GetGlyphRangesJapanese (#6066)
d822c6531 Merge branch 'master' into docking
d7c8516a4 Version 1.89.2
e06bbe05e Revert most/part of "Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo." (#456, #2637)
83429abf4 Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing.
03add24ac Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
57a5b73a4 InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
1f6e62a4a Backends: GLFW: Fixed mods state on Linux with Alt-GR text input (e.g. German keyboard layout), (#6034)
9150c23c0 imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
9c1dac3ff Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
fc3815bfe Merge branch 'master' into docking
4b39c1f65 Docs: adding Tests badge + more references to Test Engine.
824baa6a4 Docking: fixed DockSpace() with ImGuiDockNodeFlags_KeepAliveOnly marking current window as written to,. (#6037)
42e166089 Backends: Metal: fixed secondary viewport rendering. (#6015, #4821, #2778)
156e0a807 Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)
693967637 Docking: fixed DockBuilderCopyDockSpace() crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035)
e5d51866c Backends; Vulkan: do not set VkDescriptorSetLayoutBinding::pImmutableSamplers, allow changing sampler. (#6001, #5502, #914)
c9aef1606 Backends: Vulkan: Remove duplicated and dead code in Vulkan backend (#6001)
328695bd4 Provide a non-empty definition for IMGUI_DEBUG_PRINTF when disabled. (#5978)
16aaf6069 Backends: OSX: fixed ImGui_ImplOSX_GetWindowSize and ConvertNSRect. (#6009)
90de83944 Backends: SDL: fix build on WinRT (#6019, #5974) - version for docking branch
da832532c Backends: SDL: fix build on WinRT (#6019, #5974)
52c61deaf Happy new year!
e57871bb9 imstb_truetype: Add missing `return` keyword in error case of `stbtt__cid_get_glyph_subrs` (#6007)
f1ddf6302 ScrollToRectEx: Fix bug where scrolling horizontally to an always-centered element that is not visible but could be would take the item's Y coordinate into account.
91b356cf8 Examples: Allegro: Fixed compilation instructions. (#5973)
c191faf0b Merge branch 'master' into docking
59b63defe Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view.
317b33d64 Tables: fixed matching width of synchronized tables when only some (not all) instances have a vertical scrollbar. (#5920)
0949acb6e Shortcut: added Shortcut() function and ImGuiInputFlags in public API + Demo. (#456, #2637)
1dae7df26 Misc: added GetItemID() in public API.
48215231f Demo: moved WantCapture overrides items + various comments related to ImGuiKey, ImGuiMod
d3025cde3 Merge branch 'master' into docking
9d08506dc Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
fd0b3734d Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and columns. (#5143, #4868, #3692)
16cee3d00 Internals: tidying up and standardizing outer decoration size storage. (toward #5143, #4868, #3692, #3518)
820b1e651 Internals: reduced duplicate code in CalcNextScrollFromScrollTargetAndClamp() by looping through axiees.
24b873a74 Internals: renaming inside ScrollToRectEx() + fixed misplaced changelog entry.
5eda547e6 Merge branch 'master' into docking
ed54e14f1 Refactor: moved UpdateAliasKey(), GetMergedModsFromKeys(), UpdateKeyboardInputs(), UpdateMouseInputs() to INPUTS section.
f83da768b Refactor: moved LockWheelingWindow(), FindBestWheelingWindow(), UpdateMouseWheel() to INPUTS section
f9ab2a0e9 Refactor: moved UpdateKeyRoutingTable() to INPUTS section. renamed GetKeyVector2d() -> GetKeyMagnitude2d()
38a0d7ceb Refactor: added INPUTS section index, moved IsMouseHoveringRect() to INPUTS section.
b5883c1cf Refactor: moved bits into Initialization section.
713e034d9 Backends: OpenGL3: Fix for zealous warning. (#5947)
3ea0fad20 Merge branch 'master' into docking
844e0ae68 Fixes/amend 9825f7f + amend Changelog (#4857, #5937)
0e2a167bd Fonts: added a 'void* UserData' field in ImFontAtlas, as a convenience for use by applications using multiple font atlases.
9825f7fa8 Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles. (#4857, #5937)
66ad2ad53 Properly detect SSE instruction support in 32-bit MSVC build. (#5943)
a5e96ff99 Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
45736443b Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
87caf27ac Inputs, Scrolling: better selection of scrolling window when hovering nested windows and backend/OS is emitting dual-axis wheeling inputs. (#3795, #4559)
a5f3596e6 Backends: Allegro5: use al_draw_indexed_prim() or al_draw_prim() depending on version. (#5937)
50aeeff96 Backends: Allegro5: Brough back al_draw_indexed_prim when available. (#5937)
bf4c2e00c Docs: retroactively update 1.89 changelog/docs to clarify that strong typing ImGuiKey was technically a breaking change for users of legacy indices. (#4921)
cc3a2200a Internals: invert logic of mods key<>bool translation to facilitate other experiments and put emphasis on new API. (#5923, #4921)
1a497c249 Inputs, IO: reworked ImGuiMod_Shortcut to redirect to Ctrl/Super at runtime instead of compile-time. (#5923, #456)
969af7c77 Internal: Disable debug logs macro if IMGUI_DISABLE_DEBUG_TOOLS is defined. (#5901)
bd96f6eac Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
540909bdd Fixed version string for consistency (#5918)
6af38b1a4 Fixed version string for consistency (#5918)
fad8afd62 Docking: amend to allow localizing docking specific user facing string. (#5895)
595a428ba Merge branch 'master' into docking
a8df192df Version 1.89.1
27c58c394 Scrolling, Focus, Combo: fixed SetKeyboardFocusHere()/SetItemDefaultFocus()/ScrollToRectEx() during an appearing form not centering item. (#5902, #2812, #4242, #2900)
d2f9c5dfb Viewports: moving PlatformWindowCreated field to public structure. (#5882)
233d7ad3f Backends: WebGPU: fixed validation error with default depth buffer settings. (#5869, #5914)
856c6314e Drag and Drop: fixed GetDragDropPayload() returning a non-NULL value before payload is submitted. (#5910, #143)
ffe0abbfc Internals: added basic localization system (#5895)
c3d9f8ee7 Layout: fixed End()/EndChild() incorrectly asserting if users manipulates cursor position inside a collapsed/culled window and IMGUI_DISABLE_OBSOLETE_FUNCTIONS is enabled. (#5548, #5911)
3a685749c ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
16476f99f Backends: GLFW: cancel out errors emitted by glfwGetKeyName() when a name is missing. (#5908)
9964740a4 Viewport: Fixed collapsed windows setting ImGuiViewportFlags_NoRendererClear without making title bar color opaque.
38cfe22b8 Merge branch 'master' into docking
5bb287494 Version 1.89.1 WIP
7bee9a8f9 Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
d60985df7 Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
83cee9e09 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
94e850fd6 Merge branch 'master' into docking
81160fee5 Version 1.89
a582d92c3 Inputs: modulate wheel lock timer for small amount of wheeling. Slightly lower timer. (#3795)
03d3343e2 Docs: Update FAQ.md explaining how to enable hidpi for Windows app. (#5880)
00b637084 Backends: WebGPU: fixed rendering when a depth buffer is enabled. (#5869)
d7aca168e Backends: SDL: Fixed drag'n drop crossing a viewport border losing mouse coordinates. (#5710, #5012)
7380b9816 Scrolling: Exposed SetNextWindowScroll() in public API. (#1526)
cda26635c Inputs: refacotr/extract CalcRoutingScore() out of SetShortcutRouting(), easier to follow with early returns.
a571933f8 Merge branch 'master' into docking
b8b0f9d02 Backends: OpenGL3: Reverted use of glBufferSubData(). (#4468, #4504, #3381, #2981, #4825, #4832, #5127)
f0ad81055 Inputs: tweak comments, typos.
4d5da74c7 Merge branch 'master' into docking
637ddfce0 Inputs, Nav: made it possible to remap CTRL+Tab (#4828, #3255, #5641)
6c9c4879d Inputs: made Shortcut() routing id defaults to current FocusScope ID. (#456, #2637, #3724)
d576724bf Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). (#456, #2637, #3724)
4d6a9ef93 Inputs: added routing priorities. (#456, #2637, #3724)
7ff2d3353 Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
c59ebb2d7 Inputs: added basic Shortcut() function - no routing yet. (#456)
8c95c084c Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
4448d975d Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
5728f2e15 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
44d98bfd6 Fix build with IMGUI_DISABLE_DEBUG_TOOLS
849c8052b Merge branch 'master' into docking
529cba19b Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631)
7109f32f9 Internals: tidying up and stripping more of focus scope code.
9f66a3a9e Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
1eac0024c InputText: copy and select all shortcuts don't need repeat (tho it was harmless0
90e9465fa Window: Fixed position not being clamped while auto-resizing (#5843)
6e9dfe1de Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). (#5843)
86f2af2bc Backends: OSX: Fixed mouse coordinate before clicking on the host window. (#5842)
ced92d9c5 Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. (#5837, #4921)
c2694ef75 Examples: Android: Using LoadIniSettingsFromMemory() / SaveIniSettingsToMemory() to save in appropriate location for Android. (#5836)
22bcfca70 IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
a241dc799 IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. (#4921)
a61bbdc23 Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
9db6b1a0d Backends: Win32: minor tidying up. (#5819)
baea25e65 Drag and Drop: extracted a RenderDragDropTargetRect() function (#1603)
375ae5dce Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
431fc6a7f Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
178aee4b1 Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
50c4234ac Docking: Further fixes for highlight of nested nodes. (#5702)
5370b46c4 Docking: Made spacing between dock nodes not a dropping gap.
578df14f2 CI: Remove left-over discord stuff.
f6bd7c8e5 Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. (#2673)
bc918404f Internals: using ImToUpper() since std one does too many things.
9a35bfea3 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
de1593d5c Backends: DX12: Fixed stale comments. (#5798)
e3fa56ae0 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
5ac94ad89 Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
ab6e48b83 Backends: GLFW: Perform a dummy glfwGetError() read to cancel missing mouse cursors errors. (#5785)
f87e891f1 Merge branch 'master' into docking
08752b372 Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. (#5775)
81176737f Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
3920b1c76 Removed commented out old flags from when Tables was a branch.
b15347cb7 Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
3e8d19813 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
5196bd15e Docs: Update outdated code sample (#5766)
edf522b58 Merge branch 'master' into docking + amends change to nullptr (#5760)
c54230d14 Backends: Using nullptr instead of NULL. (#5760, #4537) + fix additional warnings.
8a44c31c9 Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor (#2604, #3795, #4559)
dfa1bb0ac Backends: OSX: Fixed mouse inputs on flipped views. (#5756)
cb04326b4 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (#5745)
85a368b58 Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
c7d3d22ae Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. (#4559, #3795, #2604)
80a870a3e Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again (#2604) + small refactor
282b2b5af Backends: Vulkan: Fix building with VK_NO_PROTOTYPES. (#914, #5738).
a588f00f7 Backends: Vulkan: Added experimental ImGui_ImplVulkan_RemoveTexture() for api symetry. (#914, #5738).
fb0b9c716 Docking: Fixed missing highlight when using dock node host window borders. (#5702)
588421986 imgui_freetype: Assert if bitmap size exceed chunk size to avoid buffer overflow. (#5731)
f2a522d70 ImDrawList: Not using alloca() anymore, lift single polygon size limits. (#5704, #1811)
69beaa1d0 Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
d91211f9f Merge branch 'master' into docking
cc5058e5d IO: Filter duplicate input events during the AddXXX() calls. (#5599, #4921)
fac8295d6 IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100), will filter earlier in next commit. (#5599)
9e7f460c0 Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. (#4921, #456)
074945335 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
9f6aae3bf Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
bd2355a04 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207)
3532ed162 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
d5d705069 Various comments
e74a50f52 Added GetGlyphRangesGreek() helper for Greek & Coptic glyph range. (#5676, #5727)
d17627b9c InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724)
0a7054c7e Backends: Win32: Convert WM_CHAR values with MultiByteToWideChar() when window class was registered as MBCS (not Unicode). (#5725, #1807, #471, #2815, #1060)
a229a7f39 Examples: Win32: Always use RegisterClassW() to ensure windows are Unicode. (#5725)
e0330c169 Fonts, Text: Fixed wrapped-text not doing a fast-forward on lines above the clipping region. (#5720)
4d4889bf1 Refactor CalcWordWrapPositionA() to take on the responsability of minimum character display. Add CalcWordWrapNextLineStartA(), simplify caller code.
5c4426c5b Demo: Fixed Log & Console from losing scrolling position with Auto-Scroll when child is clipped. (#5721)
12c024689 Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
73efcec56 Examples: disable GL related warnings on Mac + amend to ignore list.
a725db17b Comments for flags discoverability + add to debug log (#3795, #4559)
11f5be0ca Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
325299f94 Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (#4468, #4825, #4832, #5127, #5655, #5709)
56c3eaed2 ImDrawList: asserting on incorrect value for CurveTessellationTol (#5713)
04316bd22 ColorEdit3: fixed id collision leading to an assertion. (#5707)
8f434874c Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (#5702)
6fd2ee941 Merge branch 'master' into docking
c261dac02 Demo: moved ShowUserGuide() lower in the file, to make main demo entry point more visible + fix using IMGUI_DEBUG_LOG() macros in if/else.
51bbc7065 Backends: SDL: Disable SDL 2.0.22 new "auto capture" which prevents drag and drop across windows, and don't capture mouse when drag and dropping. (#5710)
7a9045dd7 Backends: WGPU: removed Emscripten version check (currently failing on CI, ensure why, and tbh its redundant/unnecessary with changes of wgpu api nowadays)
1dc7d0e63 Merge branch 'master' into docking
83a0030c0 Added ImGuiMod_Shortcut which is ImGuiMod_Super on Mac and ImGuiMod_Ctrl otherwise. (#456)
fd408c979 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
f359dca0d Misc input related changes to facilitate upcoming merges.
85f327d8d InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688)
60ab8a94a InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
4b522e145 Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. (#4921, #4537)
5c8041b4d Update gif in README + font names in examples
2736af6b6 Minor optimization of ImFontAtlasBuildMultiplyRectAlpha8() + README tweaks.
efe4a3722 Fix typo (#5691)
3af9ac320 Merge branch 'master' into docking
1dd964f87 Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718, #4461 and probably other things)
440f25768 Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718, #4461 and probably other things)
472f8013b Moved version number higher up in imgui.h to increase visibility
2b1d8e3ea Fix more typos in sources and docs (#5681)
44e3ba115 Demo: moved "Mouse Cursors" section. moved "Filtering" section.
673df6191 More compact README
1816c5241 Examples: updated VS projects with .natvis file under imgui/
e8178bf8a Update README.md
a0e1591ac Fix more typos (#5679)
6c3c9cea7 Fix typos in source comments (#5675)
091445a4a Examples: added all SDL examples to VS solution.
513c1ba99 Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' (#1057)
64b88da21 Merge branch 'master' into docking
cb48c81a4 Tabs: Fix initial tab state. Amend 3e6f948( (#5572)
52d9ee0dc Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
caf4b7f1e Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (#5665)
3e6f94885 Tabs: Enforcing minimum size of 1.0f, fixed asserting on zero-tab widths. (#5572)
b137f31b8 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug + over redistribution. (#5652)
2171375f9 InputText: clarified that callbacks cannot modify buffer when using the ReadOnly flag.
9e7c0f985 Fix typos in docs (#5649)
b87e58fab ImGui::InputText: added support for shift+click style selection. (#5619)
fe62927bd Backends: OpenGL: Update comments. (#4445, #5642, #4649)
9e1ccf8fa Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): (#3361)
aceab9a87 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
edcd5b113 Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
bc2002ab9 Merge branch 'master' into docking
5867a43dc Backends: GLFW: Honor GLFW_CURSOR_DISABLED by not setting mouse position. (#5625)
9445776d6 Nav: Fixed an issue opening a menu with Right key from a non-menu window.
03fc9a0b1 Menus: Fixed gaps in closing logic. (#5614)
b3ea01d86 Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) (#2517, #5614, noticed in #5546)
a502ceb07 Added commented out older obsolete names (1.42 to 1.52)
2569c6474 Demo: Improved "Constrained-resizing window" example, more clearly showcase aspect-ratio. (#5627, #5618)
7f2514397 Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. (#1651)
747c9a7ad IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
e13913ed5 IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. (#1485)
71a070192 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
b3b3a0713 Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (#5504, #4023);
2c1262b43 ImVector: fix undefined behaviour during copy operator if source vector is null. (#5608)
db798fd5b Merge branch 'master' into docking
72096bf69 Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
07b9999de Debug Log: added 'Clipper' events logging.
4eb906699 Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
21b5fac57 Backends: Metal: Update deprecated property 'sampleCount'->'rasterSampleCount' (#5603)
b78738ff2 Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
d357e8504 TestEngine: revert part of 5b0510c as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
7f4b477d2 CI: Update ubuntu version (#5598)
cdebd70e1 Fix PVS-Studio static analyzer warning for "buffer underflow"
5b0510c5b TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
ef6ba0d84 Misc: allowing override of IM_TABSIZE (#5593)
268565079 InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E) by converting them to half-width (U+0021..U+007E).
8cbd391f0 Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window. Metrics: Display dock_node->Windows in node metrics.
a396233cb Platform IME: Windows: Revert 133bbafa and 29a8ee08 as regression until new results comes. (#2589, #5535, #5264, #4972)
839c31006 Debug Log: Added IO events logging.
133bbafa3 Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. (#2589, #5535, #5264, #4972)
ff1567e24 Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (#5515)
c911901b5 Fix ImGuiIO docs and default values (#5540)
e9f50fb87 Merge branch 'master' into docking
0a4ddd724 Fix being unable to mouse wheel while dragging a payload (fix 1480bc5, #4921, #2891)
4a2ae06ca Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. (#5533, #4471, #2464, #1390).
f573ebf31 Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (#5503)
b12e056c2 Docking: Fixed amending into an existing tab bar from rendering invisible items. (#5515, amend b16f738d #2700, #2539)
0abe7d1cc Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (#5515)
e21f462f6 Merge branch 'master' into docking
28a123ca4 Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
0e95cf0de Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. (#5515, #3496, #4797)
e926a664d TabBar: Allow closing entire TabBar (possible docking only) when it contains user-appended buttons. (#5515)
e99c4fc66 Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags (#5504). Fixes 8b8a61b. #4921, #4858, #787, #1599, #323)
2d38bc99b Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b)
cb8ead1f7 Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
6ab5fd1da Tables,Columns: fixed a layout issue where SameLine() prior to a row change would set the next row in such state where subsequent SameLine() would move back to previous row.
77637fd93 Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
8731cc291 Examples: Vulkan: Add c++ version to CMakeLists (#5459)
1480bc5d4 Added ImGuiKey_MouseXXX aliases. (#4921) Reworked SetItemUsingMouseWheel() to use this for ActiveId. (#2891)
105bb3ef8 Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
21fc57f2c Merge branch 'master' into docking
8b8a61bdf Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. (#4921, #4858, #787, #1599, #323)
a7a25ee19 Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. (#2673)
92d0924b8 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight().
4711b9b05 Add trailing commas to enum (to simplify the diff/patch of further additions) (#4537)
90ef32788 Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. (#2625, #4921, #3724)
f9ccdba35 Nav: Fix regression 93f02ee + Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
93f02ee0c Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
82e10f1b6 Backends: Metal: Add dispatch synchronization. (#5447)
0b2da6791 Internals: clarified that GetInputTextState(0) can not return a pointer. Replaced a use of __APPLE__ with io.ConfigMacOSXBehaviors.
467a1cd4a Misc: io.Framerate moving average now converge in 60 frames instead of 120. (#5236, #4138)
ad5aa5416 Backends, Viewport: Metal: Pull format from shared context. (#5403, #5437)
5d0deebba Merge branch 'master' into docking
67410d53f Backends: Metal, OSX: Various fixes (ARC / Autorelease fixes with metal-cpp and extensions). (#5403)
609b935a8 InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing Enter keep the input active and select all text.
0afc6cd31 Internals: InputTextEx() renames for correctness. enter_pressed -> validated, is_validate_enter -> is_enter_pressed
58eb40db7 Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (#4616, #5434)
873e9d35a Internals: renamed TreeNodeBehaviorIsOpen() to TreeNodeUpdateNextOpen(). Added internal TreeNodeSetOpen(id). (#5423)
24dfe6db8 Version 1.89 WIP
088ddef98 Tables: extracted some code into TableBeginContextMenuPopup() for easier reuse for appending into context menu.
9cd9c2eff Merge branch 'master' into docking
9aae45eb4 Version 1.88
d51e5d289 TabItem: revert support for SetNextItemOpen(true) at it creates too much ambiguity with p_open/close button vs Selected state. (#5262)
c4b910175 TabBar: Tweak shrinking policy so that while resizing tabs that don't need shrinking keep their initial width more precisely.
4b9729614 TabBar: TabItem() now reacts to SetNextItemWidth() and SetNextItemOpen(true). (#5262)
d3fd2630b Sliders: An initial click within the knob/grab doesn't shift its position. (#1946, #5328) + Adjust default GrabMinSize.
f27af1b20 Internals: SliderBehaviorT: Minor refactor, clearer 0.0/1.0 early out. Should be no-op from user's point of view.
90e8404a7 Update README.md
9764adc7b Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.
37a07858a Nav: Fixed inability to cancel nav in modal popups. (#5400)
506717390 Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (#5401)
101aec95d Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.
07efd7cc2 Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
e135cdbc2 Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
08572189f MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
27343efb0 Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
ddcff1034 Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
6cac48df3 Drag, Slider: rework slightly or CTRL+Click or SetKeyboardFocusHere() will show 1 change of active id in the log (rather than a set,clear,set sequence)
dd2850083 Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
24dfebf45 Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2ed9e21eb Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
1d6e34f3f Debug: Added ShowDebugLogWindow().
ec2c805e4 Backends: support for unity builds for dx10/dx11/dx12 backends (#5387)
e900ca355 Merge branch 'master' into docking
076d8fc86 Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. (#4449)
0b1bcfcc2 Menus: Separate menu sets by nav layer. (#3496, #4797) + Demo: Remove incorrect and useless suggestion to use PushID().
a35e87697 InputText: Amends and tidying up: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
530332dfb InputText: Fixed undo/redo state corruption when editing buffer in user callback. (#4947, #4949)
23a785aeb Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
64d6c3056 InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. (#4947) + Metrics: Added "InputText" section.
74f02703e Misc comments + Demo: use IsItemVisible() when using direct ImDrawList calls.
4789c7e48 Misc: Fix custom assertion macro failing to compile imgui.cpp (#5378)
65c4c0a49 IO: Added SetAppAcceptingEvents() function (#4921, #4858)
17b8c3b6e Demo: Removed redundant window flag (#5367)
7354009a7 Backends: Metal: Fixed null dereference inside command buffer completion handler. (#5363, #5365)
74f7ac04a Misc: Fix font compressor utility warnings. (#5359)
f58bd817e Tables: Fix drawcall merging of last column. (#4843, #4844)
7b5a8e4f2 Merge branch 'master' into docking (wanted for #4468, #3381, #2981, #4825, #4832, #5127)
e23c5edd5 Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351)
697ce2d67 InputText: Fixed a one-frame display glitch where pressing Escape to revert after a deletion would lead to small garbage being displayed for one frame. (#3008)
5139fb7e1 Docs: Add index
ae2fb557f Docs: Update templates with link to Contributing guidelines. Add numerical version number in demo. Moved. (#5337)
814ecedd1 Docs: creates CONTRIBUTING.md (#5337)
e5b2286ca Backends: OpenGL3: Fix apple TARGET_OS_* not defined warning. (#5321)
ca222d30c Backends: OpenGL: Partially revert 1.86 change of using glBufferSubData(): now only done on Intel GPUs. (#4468, #3381, #2981, #4825, #4832, #5127)
7bf07d252 Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. (#5304, #4831, #4480, #533)
cb56b0b23 Removed leftover KeepAliveID() call in GetIDWithSeed() variant. (#5181) + doc tweaks.
250333d89 Docking: Fix unhiding tab bar regression. (#5325, #5181)
36055213c Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (#5324)
e346059ee IO: Fixed input queue trickling of mouse wheel events. (#4921, #4821)
6b5a2426d Merge branch 'master' into docking
60bea052a Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states. (amends)
b7686a88e Backends: OpenGL3: Fix state corruption on OpenGL ES 2.0 due to not preserving GL_ELEMENT_ARRAY_BUFFER_BINDING and vertex attribute states.
507a87354 DrawList: Circles disappear when using a radius < 0.5f (#3491)
9e0517a13 DrawList: Fixed divide-by-zero or glitches with Radius/Rounding values close to zero. (#5249, #5293, #3491)
2fa60bec2 Examples: Apple+OpenGL: Fix build.
693b4c57f Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (#5299)
9779cc2fe Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
4db55f88e Changed FONT.md edit to blob (#5290)
d768b8c81 Backends: Metal: Align code more closely with other backends. OSX: Add missing return for mouse pos events.
55f898939 Docs update, binaries link + Backend: Allegro: fix warning (#5281)
6d27fecce Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
e66889083 Debug: added encoding viewer in Metrics.
d666a1d47 Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (#4821, #2778)
6868d1166 Backends: OSX, Metal: Added multi-viewports support. (#4821, #2778)
414165d23 Merge branch 'master' into docking
e66fc2205 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
26f817807 Backends: Vulkan: Don't use VK_PRESENT_MODE_MAX_ENUM_KHR as specs state it isn't part of the API. (#5254)
d58b8414b Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
3e5dde9a2 Tables: Fixed incorrect auto-fit of parent windows when using non-resizable weighted columns. (#5276)
709bc03d6 Backends: GLFW: fixed ImGui_ImplGlfw_TranslateUntranslatedKey() for lower case letters on OSX (#5260, #5261)
314c7bd12 Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
e54db4ee7 Backends: OSX, Metal: Store backend data in a per-context struct, allowing to use these backends with multiple contexts. (#5203, #5221, #4141)
04689979b Examples: Emscripten+WebGPU: Fix for latest spec rename of WGPURenderPassColorAttachment::clearColor to ::clearValue (#3632)
ec4868145 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
b5b704d37 Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)
8dd542518 Merge branch 'master' into docking
5b29d1478 Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
eda7792b1 Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
28b2089ee Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list (#5191)
14ca75d4e Backends: SDL, OpenGL3: Small fixes for AmigaOS4. (#5190) + Allow redefining IM_COL32_XXX layout macros. (#5190, #767, #844)
088487a3d Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. (#5189)
fc203c7d7 Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
6d15a506f Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). (#5181)
90386780e Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. (#5181).
937d07332 Updated comment about Edit.NavigateTo to Edit.GoToAll. (#5179)
f7f30476d Added comments about requirement for bilinear filtering. (#5156, #3245) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). (#4927)
505f19e3b Merge branch 'master' into docking
2c03aac6d Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
a472e8834 InputScalar: Automatically allow hexadecimal/scientific input when format is adequate.
c521883be Sliders, Drags: Fixed manual input when using hexadecimal display format string. (#5165, #3133)
508c9aaf6 Sliders, Drags: Fixed using hexadecimal display format strings (pretty much never worked). (#5165, #3133)
f5c5926fb Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
88fbc31ee stb_truetype: fix a division by zero (unused chain of result, but triggering debuggers). (#5139, #5075)
2747a8ca4 Turned ImVec2 to const ref to RenderChar(), RenderText(), ColorButton(), PushClipRect(). for consistency. Comments about polygon filling winding order.
0dec43070 Menus: Adjusted BeginMenu() closing logic so hovering void or non-MenuItem() in parent window always lead to menu closure.
2d76b09d2 Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)
1ba290501 Update README, quote, mission statement
3587ee492 Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
dfbe938e5 InputText: Fixed pressing Tab emitting two tabs characters. (#2467, #1336)
16ddc1698 Fixed creating multiple-context (regression in 28ba54a). (#5135)
377b864bb Merge branch 'master' into docking
1ad8ad623 Backends: GLFW: Fixed keyboard modifiers events being reported incorrectly on Linux/X11.
7d7bf993b ImDrawList: Fix texture-based anti-aliasing with RGBA textures (#5132, #3245)
3c0787950 Backends: OSX: Inputs: Monitor NSKeyUp events to catch missing keyUp for key when user press Cmd + key (#5128)
9b0c26b0b Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (#5012, #5082)
c5f67218b Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (v2 for master, using bd->MouseButtonsDown == 0) (#5012, #5082)
7602277c8 Backends: Metal: Remove weak ref (#5122, #5123)
31e77eacd Backends: SDL: Add extra mouse buttons handling (#5125)
6fae29679 Examples: Emscripten: Fix build. (#3632)
28ba54a32 Internals: add AddSettingsHandler(), RemoveSettingsHandler().
fd06ed833 Misc: tweaks + fix warnings on backends withtout -wno-memaccess (#4995, #5104)
0cff5ac5a Updated stb_textedit.h from 1.20 to 1.26 (many fixes). (#5075)
de451d447 Updated stb_textedit.h from 1.13 to 1.14. (#5075)
279db5584 Updated stb_rect_pack.h from 1.00 to 1.01. (#5075)
3deb92c2c Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path (#5068, #2954)
0f1493357 Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. (#3955, #3565)
6315716f2 Backends: Glut: Fix comparison operator precedence.
1e18da5c3 Backends, Examples: Add comments about using WndProc handler and WantCaptureXXX flags. (#5061)
54fb051e5 ColorEdit: Fixed text baseline alignment after a SameLine() after a ColorEdit() with visible label.
git-subtree-dir: deps/imgui
git-subtree-split: 2db79d0868f7b02d26f7557a72504a0b6f844937
2024-05-31 19:18:26 -05:00
return : : DefWindowProcW ( hWnd , msg , wParam , lParam ) ;
2022-03-11 22:44:06 -06:00
}