forked from Green-Sky/tomato
Squashed 'external/imgui/imgui/' changes from 5c1d2d1e4c..f5befd2d29
f5befd2d29 Version 1.91.9b cfed7a3a54 Tables: fixed assert/issues loading settings. (#8496, #7934) 93b446a962 Backtrack of version tagging 1.92.0 > 1.91.9b for publishing a hotfix (#8496) a7dc184772 Moved ImDrawIdx definition lower in imgui.h. Moved ImTextureID slightly below in its own section. bfaef8ca17 Version 1.92.0 WIP 2737dbb1e1 Docs: Fixed typo. Very oops. (#8495) 4d4f1fd364 Docs: retroactively document ConfigData->Sources renaming. (#8495) d6493aab02 Fix typo in comment (#8494) 97428e8ac9 Version 1.91.9 ea2a12112d Misc: Various zealous warning fixes for newer version of Clang. b758b8223f InputText: Pasting a multi-line buffer into a single-line edit replaces carriage return by spaces. (#8459) 79bba34c5f Revert "Added ImGuiKey_AbntC1, ImGuiKey_AbntC2 + Backends: GLFW, Win32: added support. (#8468)" d9dad2f4a1 Scrollbar: stabilize visibility of ScrollbarX when detecting a feedback loop. (#8488, #3285, #4539) 6e30c42101 Tables: fixed an issue with TableSetupColumn() overriding ini data. (#7934) de4f77b0ac Backends: DX12: comment about using SrvDescriptorAllocFn/SrvDescriptorFreeFn. 09654f4e8c Revert "Examples: Updated all .vcxproj from VS2015 to VS2019 (toolset v140 to v142), Windows SDK 8.1 to 10." 557c77e455 Added ImGuiKey_AbntC1, ImGuiKey_AbntC2 + Backends: GLFW, Win32: added support. (#8468) 6da230636b Examples: Updated all .vcxproj from VS2015 to VS2019 (toolset v140 to v142), Windows SDK 8.1 to 10. 51e4cba909 Backends: Fixed zealous warnings. 39585aa90d Amend Changelog to talk about OEM keys. (#7136, #7201, #7206, #7306, #7670, #7672, #8468) a9e53829d2 Backends: Win32, SDL2, SDL3, GLFW: prioritize scancodes instead of translated keycodes when dealing with OEM keys + Added ImGuiKey_Oem102. (#7136, #7201, #7206, #7306, #7670, #7672, #8468) 88d4827b64 Update FAQ.md for SDL3 (#8480) 3c3d943fb1 Docs: Fix some typos (#8473) 806731e37a Set IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS on 3DS sdk (#8477, #8476) 1ec99f4fd3 Internals: added ImStrlen/ImMemchr #define to facilitate experimenting with variations. (#8421) 377a387a42 Add proper ImGuiTextBuffer::resize() support other than 0. 9f49292b35 Internals: Menus: reworked mangling of menu windows to use "###Menu_00" etc. instead of "##Menu_00". 119dfbc627 Debug Tools: Tweaked layout of ID Stack Tool and always display full path. (#4631) fcec08f7ae Demo: (Refactor) Moved ExampleTreeNode contents below ShowDemoWindow() so main entry point is more visible to casual reader. 324172fb1f Demo: (Refactor) Moved DemoWindowWidgets() below the functions it calls, reducing amount of forward declarations. a7657f2ed4 Examples: SDL3: Added comments to clarify setup for users of the unfortunate SDL_MAIN_USE_CALLBACKS feature. (#8455) df31774327 Disabled: Fixed an issue restoring Alpha in EndDisabled() when using nested BeginDisabled() calls with PushStyleVar(ImGuiStyleVar_DisabledAlpha) within. (#8454, #7640) 71b160cdbb Demo: (Refactor) Moved code into DemoWindowWidgetsDisableBlocks() section. 7a919e80c9 Demo: (Refactor) Moved code into DemoWindowWidgetsQueryingStatuses() section. 0758594bd2 Demo: (Refactor) Moved code into DemoWindowWidgetsDragAndDrop() section. 9b486e47fe Demo: (Refactor) Moved code into DemoWindowWidgetsDragsAndSliders(), DemoWindowWidgetsMultiComponents(), DemoWindowWidgetsVerticalSliders() sections. caf3faa054 Demo: (Refactor) Moved code into DemoWindowWidgetsColorAndPickers() section. 510a9a77d6 Demo: (Refactor) Moved code into DemoWindowWidgetsDataTypes() section. 4d0c776a80 Demo: (Refactor) Moved code into DemoWindowWidgetsPlotting(), DemoWindowWidgetsProgressBars(), DemoWindowWidgetsTabs() sections. 4450d61ac2 Demo: (Refactor) Moved code into DemoWindowWidgetsSelectables(), DemoWindowWidgetsTextFilter(), DemoWindowWidgetsTextInputs() sections. 22baec494b Demo: (Refactor) Moved code into DemoWindowWidgetsComboBoxes(), DemoWindowWidgetsImages(), DemoWindowWidgetsListBoxes() sections. 94877a137d Demo: (Refactor) Moved code into DemoWindowWidgetsBullets(), DemoWindowWidgetsCollapsingHeaders(), DemoWindowWidgetsCollapsingText() sections. de3f68a233 Demo: (Refactor) Moved code into DemoWindowWidgetsTooltips(), DemoWindowWidgetsTreeNodes() sections. b2c55c9db5 Demo: (Refactor) Moved code into DemoWindowWidgetsBasic() section. eefd2da0f6 Demo: (Refactor) Added new empty sections.. Renamed existing helper functions. ce13f6b73e Backends: GLFW: Fixed clipboard handler assertion when using GLFW <= 3.2.1 compiled with asserts enabled. (#8452) 4819eae867 Clipper: Fixed an issue where passing an out of bound index to IncludeItemByIndex() could incorrectly offset the final cursor. c5ade6591e TextLink(), TextLinkOpenURL(): fixed honoring text baseline alignment. (#8451, #7660) 9c2876b9f8 ShowFontAtlas() uses ImageWithBg(). (#8131, #8238) 1aab00da85 Misc shallow tweaks/tidying up. (#8446) 482a1f50b6 Internals: rename ImGuiDataVarInfo to ImGuiStyleVarInfo. Move ImGuiStyleMod, ImGuiColorMod to own section. 494ea57b65 Image: removed 'tint_col', 'border_col' parameters from Image(). Added ImageWithBg(). Added style.ImageBorderSize, ImGuiStyleVar_ImageBorderSize. (#8131, #8238) cdafefd4be Backends: WebGPU: Add nextInChain field for VertexAttributes under Dawn (#8438) 8bd3e20c86 Backends: WebGPU: include imgui.h before backend check (#8437) aa83d5d455 Backends: SDL2, SDL3: Only start SDL_CaptureMouse() when mouse is being dragged. (#6410, #3650) aaacb01b8d Backends: WebGPU: Recreate image bind groups during render. (#8426, #8046, #7765, #8027) 9996a2d51b Backends: WebGPU: update code for latest webgpu-native changes. Fix for Emscripten. (#8426) 6aa0810de5 Backends: WebGPU: update code for latest webgpu-native changes. Amend. (#8426) 4f4fb1d220 Backends: WebGPU: update code for latest webgpu-native changes. (#8426) 242d856ede Examples: SDL3+SDL_Renderer: removed reference to OpenGL to remove confusion. (#8434) a86fcbd947 Examples: SDL3+SDL_Renderer: removed reference to OpenGL to remove confusion. (#8434) 4c0604ec2e Font: shallow refactor, rename ConfigData[] fields to Sources[], ConfigDataCount to SourcesCount. 6e29450f76 Internals: added IsItemActiveAsInputText() helper. 030746faff Debug Tools: Added io.ConfigDebugHighlightIdConflictsShowItemPicker. (#7961, #7669) dac40d0487 Backends: SDL2, SDL3: don't call SDL_GetGlobalMouseState() when mouse position is in relative mode. (#8425, #8407) ef969a53f5 Tabs: fixed Unsaved Marker not being visible when Close Button is. (#8430, #8387) 5dce79e941 Backends: DirectX12: Fixed an issue where pre-1.91.5 legacy ImGui_ImplDX12_Init() signature started breaking in 1.91.8 due to missing command queue. (#8429) 74afea04d6 Fix typos in docs (#8427) edc66d79c7 Nav: extract code into a NavUpdateWindowingApplyFocus() so it may be reused elsewhere. 434b7710f3 Internals: packing ImGuiDataVarInfo + misc renaming + value of ImGuiDataType_Pointer doesn't need to be Count+1 1e18a6cf60 Examples: GLFW+Vulkan: make GLFW_DIR overridable in cmake bit. (#8419) a6bcbb173b Examples: Android: Update kotlin version (#8409) 6dc376f676 ImFontAtlas: added software/drawlist version of ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress + moved GetMouseCursorTexData() to internals. 85c488ee12 Hot-fix for broken MouseDrawCursor support for ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress/ImGuiMouseCursor_NotAllowed. 05742f9b6f Tables: share code between TableSetupColumn() and TableLoadSettings(). (#7934) 8b7b3ce03e Tables: fixed an issue where Columns Width state wouldn't be correctly restored when hot-reloading .ini state. (#7934) eec097fe35 Added ImGuiMouseCursor_Progress mouse cursor 8a35386+ support in SDL2,SDL3,Win32,Allegro5 backends. 8a35386ba7 Added ImGuiMouseCursor_Wait mouse cursor (busy/wait/hourglass shape) + support in SDL2,SDL3,Win32,Allegro5 backends. 8f0411ff03 Backends: OpenGL3: Lazily reinitialize embedded GL loader for when calling backend from e.g. other DLL boundaries. (#8406) c4a32a129d Tabs: fixed middle-button to close not checking hovering, only close button visibility. (#8399, #8387) 78ec1272e9 ImDrawList: added InitialFringeScale in ImDrawListSharedData. Default to 1.0f. 2860d7ba05 Selectable: Fixed horizontal label alignment with SelectableTextAlign.x > 0 and specifying a selectable size. (#8338) 474305c476 ImFont: simpler constructor. ec4cd2cb8c Backends: Vulkan: Fixed crash with using no prototypes + *BREAKING* Added ApiVersion to ImGui_ImplVulkan_LoadFunctions(). (#8326, #8365, #8400) 98c2f6b0c4 Tables, Error Handling: Recovery from invalid index in TableSetColumnIndex(). (#1651) e1ae7db4cc Backends: Vulkan: Fixed building with older headers not supporting VK_HEADER_VERSION_COMPLETE. (#8326, #8365) 12963f5231 Examples: Vulkan: make ApiVersion a little more visible in examples. (#8326, #8365) 890ead6a71 Backends: Vulkan: Added ApiVersion field in ImGui_ImplVulkan_InitInfo. Dynamic rendering path loads "vkCmdBeginRendering/vkCmdEndRendering" without -KHR on API 1.3. (#8326, #8365) f94a5f0e8c Docs: Update doc about plutosvg (#8395) b78cc37891 Backends: SDL2: Fixed build for versions older than 2.0.14. (#7660) a931fb7f51 Fixed static analyzer warning. 7cd31c3557 Tables: tamed some .ini settings optimizations to more accurately allow overwriting/hot-reloading settings. (#7934) 7221f5e739 Styles, Tabs: Fixed ef7ffaf. (#8387) ef7ffaff74 Styles, Tabs: (Breaking) Renamed TabMinWidthForCloseButton to TabCloseButtonMinWidthUnselected. Added TabCloseButtonMinWidthSelected. (#8387) 3d900edba7 Examples: Win32+DirectX12: Fixed ExampleDescriptorHeapAllocator overflow free index. 6916f935eb InputText: Allow CTRL+Shift+Z to redo even outside of OSX. (#8389) 3b2f2602b4 Windows: Fixed an issue where BeginChild() inside a collapsed Begin() wouldn't inherit the SkipItems flag. 4dc9df6aae Tables: fixed an issue where Columns Visible/Hidden state wouldn't be correctly overridden when hot-reloading .ini state. (#7934) 88cda0cab6 Fixed minor warning. Added comment. a431e1277e Backends: SDL2, SDL3: Using SDL_OpenURL() in platform_io.Platform_OpenInShellFn handler. (#7660) a18622c369 TextLinkOpenURL(): fixed default Win32 io.PlatformOpenInShellFn handler to handle UTF-8 regardless of system regional settings. (#7660) 2206e31e54 Demo: Combos: demonstrate a very simple way to add a filter to a combo. (#718) e8ad60cc4f Fix typo (#8382) 50dbb086f2 Tables: sneakily honor ImGuiNextWindowDataFlags_HasChildFlags/ImGuiNextWindowDataFlags_HasWindowFlags as a way to facilitate various hacks/workarounds. e368015d79 Tables: a clipped scrolling table correctly clears SetNextWindowXXX flags. (#8196) e5668b8c73 Internals: rename ImGuiNextWindowData::Flags to HasFlags for consistency and to reduce mistakes. 4982602f6f Windows, Style: Added style.WindowBorderHoverPadding setting to configure inner/outer padding applied to hit-testing of windows borders. 914fbcf2e5 Fonts: removed unnecessary const qualifier from ImFont::FindGlyph() 4f1d3809c3 Fixed tabs and spaces (#8377) 0625b37760 Scrollbar: Rework logic that fades-out scrollbar when it becomes too small. cfed18afc7 Add ImFontConfig::GlyphExtraAdvanceX as a replacement for GlyphExtraSpacing.x (#242) 2d20e13746 Backends: GLFW: Added comment about io.AddMouseSourceEvent() not being properly called. (#8374) 1a31e31ae9 (Breaking) Fonts: removed ImFontConfig::GlyphExtraSpacing option which seems largely obsolete and unused. (#242) de962e83d0 ImFont: remove SetGlyphVisible() da0ba9e2fe Backends: WebGPU: add type alias for dawn WGPUProgrammableStageDescriptor -> WGPUComputeState. (#8369) 5dd84082ab InputTextWithHint(): Fixed buffer overflow when user callback modifies the buffer contents in a way that alters hint visibility. (#8368) 204cebc8fc Backends: Metal: Fixed a crash on application resources. (#8367, #7419) [@anszom] 6265339995 Fixed IsItemDeactivatedAfterEdit() signal being broken for Checkbox(), RadioButton(), Selectable(). (#8370) f820bf7cd4 Version 1.91.9 WIP e4db4e423d Internals: renamed GetIOEx() to GetIO(). Added GetPlatformIO() explicit context variant. - OOPS e2a99b5760 Internals: renamed GetIOEx() to GetIO(). Added GetPlatformIO() explicit context variant. dbb5eeaadf Version 1.91.8 e6c5296f30 Examples: SDL3: Fix for Emscripten platform (#8363) ae6cfd32a0 Tables, Menus: Fixed tables or child windows submitted inside BeginMainMenuBar() being unable to save their settings. (#8356) fa178f4235 Error Handling: Recovery from missing EndMenuBar() call. (#1651) c0308da665 Fixed zealous GCC warning. (#8355) dabc990189 Rename internal id for standardizing naming convention. "##menubar" -> "##MenuBar", "###NavWindowingList" -> "###NavWindowingOverlay" a71191515a EndMainMenuBar doesn't attempt to restore focus when there's an active id. (#8355) dfd1bc3c5b Tables, Menus: Fixed using BeginTable() in menu layer (any menu bar). (#8355) 4230e98720 Error Handling, Debug Log: IMGUI_DEBUG_LOG_ERROR() doesn't need the extra variable. ea0da0bf47 Extracted PushPasswordFont() out of InputText code. 9c4948a4d1 TabBar: Internals: added TabItemSpacing(). (#8349, #3291) a05d547ae8 Windows: separating WindowItemStatusFlags from ChildItemStatusFlag, because IsItemXXX _after_ BeginChild()>Begin() shouldn't return last status emitted by e.g. EndChild() 134fbe1245 Windows: Fixed IsItemXXXX() functions not working on append-version of EndChild(). (#8350) 5a28f188ff Fixed parameter names to SetLastItemData() to align with current names. 96e3b147f0 Fixed build with IMGUI_ENABLE_FREETYPE (#8346) afb6e9a879 Fonts: OversampleH auto-selection uses 36 as heuristic for now. 8a1613a382 Fonts: OversampleH/OversampleV value defaults to 0 for automatic selection. 4211fdc70b ImFont: compact comments in header section. 9eafb7bbfb ImFont: IndexLookup[] table hold 16-bit values even in ImWchar32 mode. 53244aaac7 Amend 9bc5b04 with a shadowed variable warning fix. ed7551c1d4 Selectable: Fixed horizontal label alignment when combined with using ImGuiSelectableFlags_SpanAllColumns. (#8338) bbf957875b Amend 9bc5b04 to avoid using GImGui mid-function. 9bc5b0406d Windows, Style: Fixed small rendering issues with menu bar, resize grip and scrollbar when using thick border sizes. (#8267, #7887) 10199341b1 ImFontAtlas: made calling ClearFonts() call ClearInputData(). (#8174, #6556, #6336, #4723) 71da34c48c Debug Tools: Tweaked font preview + indent "Glyphs" block. 6906ac979e ColorEdit, ColorPicker: (Breaking) redesigned how alpha is displayed in the preview square. (#8335, #1578, #346) fdca6c08ad Inputs: added IsMouseReleasedWithDelay() helper. (#8337, #8320) d17e9fc107 Backends: SDL_GPU: shallow tweaks + disable anisotropy in sampler. Examples: SDL+Vulkan: Fixed incorrect defines. 3e6bdc2242 Examples: SDL3+SDL_GPU: use SDL_GPU_PRESENTMODE_MAILBOX swapchain parameters. bf13442c7c Moved ImGuiColorEditFlags_AlphaPreview/ImGuiColorEditFlags_AlphaPreviewHalf flags. Demo: reorganized some of color edit/picker demo section. 2af26b75d1 ColorEdit, ColorPicker: Fixed alpha preview broken in 1.91.7. (#8336, #8241). [@PathogenDavid] 7ae7c90790 Tabs, Style: reworked selected overline rendering to better accommodate for rounded tabs. (#8334) e8779a67b1 Font: direct AddText()/RenderText() calls don't need to call strlen() if below clipping region. 4c2e7bb035 Backends: SDL2,SDL3: removed assert preventing using ImGui_ImplSDL2_SetGamepadMode()/ImGui_ImplSDL3_SetGamepadMode() with ImGui_ImplSDL2_GamepadMode_Manual/ImGui_ImplSDL3_GamepadMode_Manual and an empty array. (#8329) 8b0af7fddc Backends: SDL: update comments regarding API stability, regarding SDL_GPU and SDL_Renderer. aa1b4ea861 Backends: OSX: Remove notification observer when shutting down. (#8331) aa23f3801b Backends: SDL_Renderer2/3: Use endian-dependent RGBA32 texture format, to match SDL_Color. (#8327) 80c9cd1f6e Font: reduce unnecessary padding in ImFontConfig struct too. d7454de80a Font: minor tweak to struct alignment. dd89a3741b Backends: Vulkan: sharing duplicate code. (#5446, #8326) 487d7f9a29 Font: Internals: make used page maps smaller. Since it's extremely rarely used and for iterations only. ~34->16 bytes with ImWchar32. f2262eb81a Windows: latch FontRefSize at time of Begin(), consistent with e.g. TitleBarHeight, and to avoid calling CalcFontSize() on non-current window. b7c27c5333 Windows: legacy SetWindowFontScale() is properly inherited by nested child windows. (#2701, #8138, #1018) 4c64ba16c5 imgui_freetype: fixed issue where glyph advances would incorrectly be snapped to pixels. 007735737a Ignore vscode artifacts (#8324) b4a5d1dc53 Backends: SDLGPU3: Rename GpuDevice->Device. Expose ImGui_ImplSDLGPU3_CreateDeviceObjects(), ImGui_ImplSDLGPU3_DestroyDeviceObjects(). Misc renaming. (#8163, #7998, #7988) 0f33d7185f Examples: Vulkan: vkAcquireNextImageKHR() and vkQueuePresentKHR() returning VK_SUBOPTIMAL_KHR keeps moving forward. (#7825, #7831) 8ebf22d3c1 Backends: Vulkan: use ImVector<> for simplicity. 6684984c49 Examples: DirectX12: Reduced number of frame in flight from 3 to 2 in provided example, to reduce latency. 0e21bde77b Misc shallow merge to reduce diff in other branches. 8a9de84cd0 FontAtlas: reduced baked IM_DRAWLIST_TEX_LINES_WIDTH_MAX from 63 to 32. (#3245) 100075f2be Backends: DirectX12: Texture upload use the command queue provided in ImGui_ImplDX12_InitInfo instead of creating its own. c59a2267d0 Version 1.91.8 WIP git-subtree-dir: external/imgui/imgui git-subtree-split: f5befd2d29e66809cd1110a152e375a7f1981f06
This commit is contained in:
@@ -35,6 +35,235 @@ HOW TO UPDATE?
|
||||
and API updates have been a little more frequent lately. They are documented below and in imgui.cpp and should not affect all users.
|
||||
- Please report any issue!
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.91.9b (Released 2025-03-17)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.91.9b
|
||||
|
||||
- Tables: Fixed assert when loading .ini settings with reordered columns. (#8496, #7934)
|
||||
- Tables: Fixed issues when loading .ini settings for a table with columns using
|
||||
ImGuiTableColumnFlags_DefaultHide or ImGuiTableColumnFlags_DefaultSort. (#8496, #7934)
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.91.9 (Released 2025-03-14)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.91.9
|
||||
|
||||
Breaking changes:
|
||||
|
||||
- Image: removed 'tint_col' and 'border_col' parameter from Image() function. (#8131, #8238)
|
||||
- Old function signature:
|
||||
void Image (ImTextureID tex_id, ImVec2 image_size, ImVec2 uv0 = (0,0), ImVec2 uv1 = (1,1), ImVec4 tint_col = (1,1,1,1), ImVec4 border_col = (0,0,0,0));
|
||||
- New function signatures:
|
||||
void Image (ImTextureID tex_id, ImVec2 image_size, ImVec2 uv0 = (0,0), ImVec2 uv1 = (1,1));
|
||||
void ImageWithBg(ImTextureID tex_id, ImVec2 image_size, ImVec2 uv0 = (0,0), ImVec2 uv1 = (1,1), ImVec4 bg_col = (0,0,0,0), ImVec4 tint_col = (1,1,1,1));
|
||||
- TL;DR: 'border_col' had misleading side-effect on layout, 'bg_col' was missing, parameter order couldn't be consistent with ImageButton().
|
||||
- New behavior always use ImGuiCol_Border color + style.ImageBorderSize / ImGuiStyleVar_ImageBorderSize.
|
||||
- Old behavior altered border size (and therefore layout) based on border color's
|
||||
alpha, which caused variety of problems.
|
||||
- Old behavior used a fixed value of 1.0f for border size which was not tweakable.
|
||||
- Kept legacy signature (will obsolete), which mimics the old behavior,
|
||||
but uses Max(1.0f, style.ImageBorderSize) when border_col is specified.
|
||||
- Added ImageWithBg() function which has both 'bg_col' (which was missing) and 'tint_col'.
|
||||
It was impossible to add 'bg_col' to Image() with a parameter order consistent with
|
||||
other functions, so we decided to remove 'tint_col' and introduce ImageWithBg().
|
||||
- Renamed ImFontConfig::GlyphExtraSpacing.x option to GlyphExtraAdvanceX. (#242)
|
||||
- Renamed style.TabMinWidthForCloseButton to style.TabCloseButtonMinWidthUnselected.
|
||||
- Backends: Vulkan: Added 'uint32_t api_version' argument to ImGui_ImplVulkan_LoadFunctions().
|
||||
Note that it was also added to ImGui_ImplVulkan_InitInfo but for the later it is optional.
|
||||
(#8326, #8365, #8400)
|
||||
- Internals: Fonts: ImFontAtlas::ConfigData[] has been renamed to ImFontAtlas::Sources[],
|
||||
- Internals: Fonts: ImFont::ConfigData[], ConfigDataCount has been renamed to Sources[], SourcesCount.
|
||||
- Internals: Menus: reworked mangling of menu windows to use "###Menu_00" etc. instead
|
||||
of "##Menu_00", allowing them to also store the menu name before it. This shouldn't
|
||||
affect code unless directly accessing menu window from their mangled name.
|
||||
|
||||
Other changes:
|
||||
|
||||
- Fixed IsItemDeactivatedAfterEdit() signal being broken for Checkbox(),
|
||||
RadioButton(), Selectable(). Regression from 2025/01/13. (#8370)
|
||||
- Windows: Fixed an issue where BeginChild() inside a collapsed Begin()
|
||||
wouldn't inherit the SkipItems flag, resulting in missing coarse clipping
|
||||
opportunities for code not checking the BeginChild() return value.
|
||||
- Windows, Style: Added style.WindowBorderHoverPadding setting to configure
|
||||
inner/outer padding applied to hit-testing of windows borders and detection
|
||||
of hovered window.
|
||||
- InputText: Allow CTRL+Shift+Z to redo even outside of OSX. (#8389) [@tanksdude]
|
||||
- InputText: Pasting a multi-line buffer into a single-line edit replaces
|
||||
carriage return by spaces. (#8459)
|
||||
- InputTextWithHint(): Fixed buffer-overflow (luckily often with no visible effect)
|
||||
when a user callback modified the buffer contents in a way that altered the
|
||||
visibility of the preview/hint buffer. (#8368) [@m9710797, @ocornut]
|
||||
- Scrollbar: Rework logic that fades-out scrollbar when it becomes too small,
|
||||
which amusingly made it disappear when using very big font/frame size.
|
||||
- Scrollbar: Automatically stabilize ScrollbarX visibility when detecting a
|
||||
feedback loop manifesting with ScrollbarX visibility toggling on and off
|
||||
repeatedly. (#8488, #3285, #4539)
|
||||
(feedback loops of this sort can manifest in various situations, but combining
|
||||
horizontal + vertical scrollbar + using a clipper with varying width items is
|
||||
one frequent cause. The better solution is to, either: (1) enforce visibility
|
||||
by using ImGuiWindowFlags_AlwaysHorizontalScrollbar or (2) declare stable
|
||||
contents width with SetNextWindowContentSize(), if you can compute it.)
|
||||
- Tables: fixed calling SetNextWindowScroll() on clipped scrolling table
|
||||
to not leak the value into a subsequent window. (#8196)
|
||||
- Tables: fixed an issue where Columns Visible/Width state wouldn't be correctly
|
||||
restored when hot-reloading .ini state. (#7934)
|
||||
- Tables: tamed some .ini settings optimizations to more accurately allow
|
||||
overwriting/hot-reloading settings in more situations. (#7934)
|
||||
- Tables, Error Handling: Recovery from invalid index in TableSetColumnIndex(). (#1651)
|
||||
- Image: Added ImageWithBg() variant with bg color and tint color. (#8131, #8238)
|
||||
- Image, Style: Added style.ImageBorderSize, ImGuiStyleVar_ImageBorderSize. (#8131, #8238)
|
||||
- Selectable: Fixed horizontal label alignment with SelectableTextAlign.x > 0 and
|
||||
specifying a selectable size. (#8338)
|
||||
- Tabs, Style: made the Close Button of selected tabs always visible by default,
|
||||
without requiring to hover the tab. (#8387)
|
||||
- Added style.TabCloseButtonMinWidthSelected/TabCloseButtonMinWidthUnselected settings
|
||||
to configure visibility of the Close Button for selected and unselected tabs.
|
||||
(-1: always visible. 0.0f: visible when hovered. >0.0f: visible when hovered if minimum width)
|
||||
- Default for selected tabs: TabCloseButtonMinWidthSelected = -1.0f (always visible)
|
||||
- Default for unselected tabs: TabCloseButtonMinWidthUnselected = 0.0f (visible when hovered)
|
||||
- Tabs: fixed middle-mouse-button to close tab not checking that close button
|
||||
is hovered, merely its visibility. (#8399, #8387) [@nicovanbentum]
|
||||
- TextLink(), TextLinkOpenURL(): fixed honoring text baseline alignment.
|
||||
(#8451, #7660) [@achabense]
|
||||
- TextLinkOpenURL(): fixed default Win32 io.PlatformOpenInShellFn handler to
|
||||
handle UTF-8 regardless of system regional settings. (#7660) [@achabense]
|
||||
- Disabled: Fixed an issue restoring Alpha in EndDisabled() when using nested
|
||||
BeginDisabled() calls with PushStyleVar(ImGuiStyleVar_DisabledAlpha) within. (#8454, #7640)
|
||||
- Clipper: Fixed an issue where passing an out of bound index to IncludeItemByIndex()
|
||||
could incorrectly offset the final cursor, even if that index was not iterated through.
|
||||
One case where it would manifest was calling Combo() with an out of range index. (#8450)
|
||||
- Debug Tools: Added io.ConfigDebugHighlightIdConflictsShowItemPicker (defaults to true)
|
||||
to allow disabled Item Picker suggestion in user facing builds. (#7961, #7669)
|
||||
- Debug Tools: Tweaked layout of ID Stack Tool and always display full path. (#4631)
|
||||
- Misc: Various zealous warning fixes for newer version of Clang.
|
||||
- Misc: Added ImGuiMouseCursor_Wait and ImGuiMouseCursor_Progress mouse cursors
|
||||
(busy/wait/hourglass shape, with or without an arrow cursor).
|
||||
- Demo: Reorganized "Widgets" section to be alphabetically ordered and split in more functions.
|
||||
- Demo: Combos: demonstrate a very simple way to add a filter to a combo,
|
||||
by showing the filter inside the combo contents. (#718)
|
||||
- Examples: SDL3: Added comments to clarify setup for users of the unfortunate
|
||||
SDL_MAIN_USE_CALLBACKS feature. (#8455)
|
||||
- IO: Added ImGuiKey_Oem102 to ImGuiKey enum. (#7136, #7201, #7206, #7306, #8468)
|
||||
- Backends: reworked key handlers to use/prioritize untranslated scancodes instead of
|
||||
translated keycodes when dealing with OEM keys which are too difficult to find a reliable
|
||||
translated mapping on all systems, backends and keyboard layout.
|
||||
(#7136, #7201, #7206, #7306, #7670, #7672, #8468)
|
||||
- The affected keys are: ImGuiKey_Apostrophe, ImGuiKey_Comma, ImGuiKey_Minus, ImGuiKey_Period,
|
||||
ImGuiKey_Slash, ImGuiKey_Semicolon, ImGuiKey_Equal, ImGuiKey_LeftBracket, ImGuiKey_RightBracket,
|
||||
ImGuiKey_Backslash, ImGuiKey_GraveAccent, and newly introduced ImGuiKey_Oem102.
|
||||
- This is NOT affecting characters used the text inputs.
|
||||
- Fixes many cases of keys not emitting a ImGuiKey value with certain keyboard layouts.
|
||||
- Makes emitted ImGuiKey values more consistent regardless of keyboard mapping,
|
||||
but you may be getting different values as before.
|
||||
- Win32, SDL2, SDL3: Use scancodes for OEM keys.
|
||||
- GLFW: GLFW_KEY_WORLD_1 and GLFW_KEY_WORLD_2 are emitting ImGuiKey_Oem102.
|
||||
- Backends: GLFW: Fixed clipboard handler assertion when using GLFW <= 3.2.1 compiled
|
||||
with asserts enabled. (#8452)
|
||||
- Backends: SDL2, SDL3: Using SDL_OpenURL() in platform_io.Platform_OpenInShellFn
|
||||
handler. (#7660) [@achabense]
|
||||
- Backends: SDL2, SDL3, Win32, Allegro5: Added support for ImGuiMouseCursor_Wait
|
||||
and ImGuiMouseCursor_Progress cursors.
|
||||
- Backends: SDL2, SDL3: Avoid calling SDL_GetGlobalMouseState() when mouse is in
|
||||
relative mode. (#8425, #8407) [@TheMode]
|
||||
- Backends: SDL2, SDL3: Only start SDL_CaptureMouse() when mouse is being dragged,
|
||||
to mitigate issues with e.g. Linux debuggers not claiming capture back on debug
|
||||
break. (#6410, #3650)
|
||||
- Backends: OpenGL3: Lazily reinitialize embedded GL loader for when calling backend
|
||||
from e.g. other DLL boundaries. (#8406)
|
||||
- Backends: DirectX12: Fixed an issue where pre-1.91.5 legacy ImGui_ImplDX12_Init()
|
||||
signature started breaking in 1.91.8 due to missing command queue. (#8429)
|
||||
- Backends: Metal: Fixed a crash on application resources. (#8367, #7419) [@anszom]
|
||||
- Backends: Vulkan: Added ApiVersion field in ImGui_ImplVulkan_InitInfo.
|
||||
Default to header version if unspecified. (#8326, #8365) [@mklefrancois]
|
||||
- Backends: Vulkan: Dynamic rendering path loads "vkCmdBeginRendering/vkCmdEndRendering"
|
||||
(without -KHR suffix) on API 1.3. (#8326, #8365) [@mklefrancois]
|
||||
- Backends: WebGPU: Recreate image bind groups during render to allow reuse of
|
||||
WGPUTextureView pointers. (#8426, #8046, #7765, #8027) [@pplux, @Jairard]
|
||||
- Backends: WebGPU: Fix for DAWN API change WGPUProgrammableStageDescriptor -> WGPUComputeState.
|
||||
[@PhantomCloak] (#8369)
|
||||
- Backends: WebGPU: Fix for webgpu-native API changes. (#8426) [@pplux]
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.91.8 (Released 2025-01-31)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.91.8
|
||||
|
||||
Breaking changes:
|
||||
|
||||
- ColorEdit, ColorPicker: redesigned how alpha is displayed in the preview
|
||||
square. (#8335, #1578, #346)
|
||||
- Removed ImGuiColorEditFlags_AlphaPreview (made value 0): it is now the default behavior.
|
||||
- Prior to 1.91.8: alpha was made opaque in the preview by default _unless_ using ImGuiColorEditFlags_AlphaPreview.
|
||||
- We now display the preview as transparent by default. You can use ImGuiColorEditFlags_AlphaOpaque to use old behavior.
|
||||
- The new flags may be combined better and allow finer controls:
|
||||
- ImGuiColorEditFlags_AlphaOpaque: disable alpha in the preview, but alpha value still editable.
|
||||
- ImGuiColorEditFlags_AlphaNoBg: disable rendering a checkerboard background behind transparent color.
|
||||
- ImGuiColorEditFlags_AlphaPreviewHalf: display half opaque / half transparent preview.
|
||||
- Backends: SDLGPU3: Renamed ImGui_ImplSDLGPU3_InitInfo::GpuDevice to Device
|
||||
for consistency. (#8163, #7998, #7988)
|
||||
|
||||
Other changes:
|
||||
|
||||
- imgui_freetype: fixed issue where glyph advances would incorrectly be
|
||||
snapped to pixels. Effectively it would only be noticeable when hinting
|
||||
is disabled with ImGuiFreeTypeBuilderFlags_NoHinting, as hinting itself
|
||||
snaps glyph advances.
|
||||
- Inputs: added IsMouseReleasedWithDelay() helper. (#8337, #8320)
|
||||
Use if you absolutely need to distinguish single-click from double-clicks
|
||||
by introducing a delay. This is a very rarely used UI idiom, but some apps
|
||||
use this: e.g. MS Explorer single-click on an icon triggers a rename.
|
||||
Generally use with 'delay >= io.MouseDoubleClickTime' + combine with a
|
||||
'GetMouseClickedCount() == 1' check.
|
||||
- Windows: legacy SetWindowFontScale() is properly inherited by nested child
|
||||
windows. Note that an upcoming major release should make this obsolete,
|
||||
but in the meanwhile it works better now. (#2701, #8138, #1018)
|
||||
- Windows, Style: Fixed small rendering issues with menu bar, resize grip and
|
||||
scrollbar when using thick border sizes. (#8267, #7887)
|
||||
- Windows: Fixed IsItemXXXX() functions not working on append-version of EndChild(). (#8350)
|
||||
Also made some of the fields accessible after BeginChild() to match Begin() logic.
|
||||
- Error Handling: Recovery from missing EndMenuBar() call. (#1651)
|
||||
- Tables, Menus: Fixed using BeginTable() in menu layer (any menu bar). (#8355)
|
||||
It previously overrode the current layer back to main layer, which caused an issue
|
||||
with MainMenuBar attempted to release focus when leaving the menu layer.
|
||||
- Tables, Menus: Fixed tables or child windows submitted inside BeginMainMenuBar()
|
||||
being unable to save their settings, as the main menu bar uses _NoSavedSettings. (#8356)
|
||||
- ColorEdit, ColorPicker: Fixed alpha preview broken in 1.91.7. (#8336, #8241). [@PathogenDavid]
|
||||
- Tabs, Style: reworked selected overline rendering to better accommodate
|
||||
for rounded tabs. Reduced default thickness (style.TabBarOverlineSize),
|
||||
increased default rounding (style.TabRounding). (#8334) [@Kian738, @ocornut]
|
||||
- Debug Tools: Tweaked font preview.
|
||||
- ImDrawList: texture baked storage for thick line reduced from ~64x64 to ~32x32. (#3245)
|
||||
- Fonts: IndexLookup[] table hold 16-bit values even in ImWchar32 mode,
|
||||
as it accounts for number of glyphs in same font. This is favorable to
|
||||
CalcTextSize() calls touching less memory.
|
||||
- Fonts: OversampleH/OversampleV defaults to 0 for automatic selection.
|
||||
- OversampleH == 0 --> use 1 or 2 depending on font size and use of PixelSnapH.
|
||||
- OversampleV == 0 --> always use 1.
|
||||
- ImFontAtlas: made calling ClearFonts() call ClearInputData(), as calling
|
||||
one without the other is never correct. (#8174, #6556, #6336, #4723)
|
||||
- Examples: DirectX12: Reduced number of frame in flight from 3 to 2 in
|
||||
provided example, to reduce latency.
|
||||
- Examples: Vulkan: better handle VK_SUBOPTIMAL_KHR being returned by
|
||||
vkAcquireNextImageKHR() or vkQueuePresentKHR(). (#7825, #7831) [@NostraMagister]
|
||||
- Backends: SDL2: removed assert preventing using ImGui_ImplSDL2_SetGamepadMode()
|
||||
with ImGui_ImplSDL2_GamepadMode_Manual and an empty array. (#8329)
|
||||
- Backends: SDL3: removed assert preventing using ImGui_ImplSDL3_SetGamepadMode()
|
||||
with ImGui_ImplSDL3_GamepadMode_Manual and an empty array. (#8329)
|
||||
- Backends: SDLGPU3: Exposed ImGui_ImplSDLGPU3_CreateDeviceObjects()/_DestroyDeviceObjects().
|
||||
Removed return value from ImGui_ImplSDLGPU3_CreateFontsTexture(). (#8163, #7998, #7988)
|
||||
- Backends: SDL_Renderer2/3: Use endian-dependent RGBA32 texture format, to match
|
||||
SDL_Color. (#8327) [@dkosmari]
|
||||
- Backends: DirectX12: Texture upload use the command queue provided in
|
||||
ImGui_ImplDX12_InitInfo instead of creating its own.
|
||||
- Backends: OSX: Removed notification observer when shutting down. (#8331) [@jrachele]
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.91.7 (Released 2025-01-14)
|
||||
-----------------------------------------------------------------------
|
||||
@@ -79,6 +308,8 @@ Other changes:
|
||||
the label (not only the highlight/frame) also spans all columns. This is
|
||||
useful for table rows where you know nothing else is submitted. (#8318, #3565)
|
||||
Obviously best used with ImGuiTableFlags_NoBordersInBodyUntilResize.
|
||||
- Selectable: Fixed horizontal label alignment when combined with using
|
||||
ImGuiSelectableFlags_SpanAllColumns. (#8338)
|
||||
- Drags: Added ImGuiSliderFlags_NoSpeedTweaks flag to disable keyboard
|
||||
modifiers altering the tweak speed. Useful if you want to alter tweak speed
|
||||
yourself based on your own logic. (#8223)
|
||||
@@ -93,7 +324,7 @@ Other changes:
|
||||
- Demo: Added label edition to Property Editor demo + fix an ID issue. (#8266) [@moritz-h]
|
||||
- Misc: Fixed misc/cpp/imgui_stdlib.h/.cpp not supporting IMGUI_DISABLE. (#8294) [@juur]
|
||||
- Misc: Fixed MinGW builds not using UTF-8 friendly _wfopen(). (#8300)
|
||||
- Backends: SDL_GPU for SDL3: Added backend for SDL_GPU! (#8163, #7998, #7988) [@DeltaW0x].
|
||||
- Backends: SDLGPU3 for SDL3: Added backend for SDL_GPU! (#8163, #7998, #7988) [@DeltaW0x].
|
||||
- Backends: SDL3: Added ImGui_ImplSDL3_InitForSDLGPU() for consistency, even
|
||||
though it is currently not doing anything particular. (#8163, #7998, #7988)
|
||||
- Backends: Allegro5: Avoid calling al_set_mouse_cursor() repeatedly since it appears
|
||||
@@ -201,7 +432,7 @@ Other changes:
|
||||
initial mouse down event.
|
||||
- Note that it may reveal incorrect usage if you were using InputInt/InputFloat
|
||||
without persistent storage by relying solely on e.g. IsItemDeactivatedAfterEdit():
|
||||
this was never supported and didn't work consistantly (see #8149).
|
||||
this was never supported and didn't work consistently (see #8149).
|
||||
- InputText: fixed a bug (regression in 1.91.2) where modifying text buffer within
|
||||
a callback would sometimes prevents further appending to the buffer.
|
||||
- Tabs, Style: made ImGuiCol_TabDimmedSelectedOverline alpha 0 (not visible) in default
|
||||
@@ -305,7 +536,7 @@ Other changes:
|
||||
supported by InputFloat, InputInt, InputScalar etc. widgets. It actually never was. (#8065, #3946)
|
||||
- imgui_freetype: Added support for plutosvg (as an alternative to lunasvg) to render
|
||||
OpenType SVG fonts. Requires defining IMGUI_ENABLE_FREETYPE_PLUTOSVG along with IMGUI_ENABLE_FREETYPE.
|
||||
Providing headers/librairies for plutosvg + plutovg is up to you (see #7927 for help).
|
||||
Providing headers/libraries for plutosvg + plutovg is up to you (see #7927 for help).
|
||||
(#7927, #7187, #6591, #6607) [@pthom]
|
||||
- Backends: DX11, DX12, SDLRenderer2/3. Vulkan, WGPU: expose selected state in
|
||||
ImGui_ImplXXXX_RenderState structures during render loop user draw callbacks.
|
||||
@@ -488,7 +719,7 @@ Other changes:
|
||||
by an extra pixel + rework the change so that contents doesn't overlap the bottom and
|
||||
right border in a scrolling table. (#6765, #3752, #7428)
|
||||
- Tables: fixed an issue resizing columns or querying hovered column/row when using multiple
|
||||
synched instances that are layed out at different X positions. (#7933)
|
||||
synced instances that are laid out at different X positions. (#7933)
|
||||
- Tabs: avoid queuing a refocus when tab is already focused, which would have the
|
||||
side-effect of e.g. closing popup on a mouse release. (#7914)
|
||||
- InputText: allow callback to update buffer while in read-only mode. (imgui_club/#46)
|
||||
@@ -721,7 +952,7 @@ Other changes:
|
||||
- Windows: BeginChild(): fixed a glitch when during a resize of a child window which is
|
||||
tightly close to the boundaries of its parent (e.g. with zero WindowPadding), the child
|
||||
position could have temporarily be moved around by erroneous padding application. (#7706)
|
||||
- TabBar, Style: added ImGuiTabBarFlags_DrawSelectedOverline option to draw an horizontal
|
||||
- TabBar, Style: added ImGuiTabBarFlags_DrawSelectedOverline option to draw a horizontal
|
||||
line over selected tabs to increase visibility. This is used by docking.
|
||||
Added corresponding ImGuiCol_TabSelectedOverline and ImGuiCol_TabDimmedSelectedOverline colors.
|
||||
- Tables: added TableGetHoveredColumn() to public API, as an alternative to testing for
|
||||
@@ -784,7 +1015,7 @@ Other changes:
|
||||
- Scrollbar: made scrolling logic more standard: clicking above or below the
|
||||
grab scrolls by one page, holding mouse button repeats scrolling. (#7328, #150)
|
||||
- Scrollbar: fixed miscalculation of vertical scrollbar visibility when required
|
||||
solely by the presence of an horizontal scrollbar. (#1574)
|
||||
solely by the presence of a horizontal scrollbar. (#1574)
|
||||
- InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_ParseEmptyRefVal
|
||||
to parse an empty field as zero-value. (#7305) [@supermerill, @ocornut]
|
||||
- InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_DisplayEmptyRefVal
|
||||
@@ -918,7 +1149,7 @@ Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v
|
||||
|
||||
Breaking changes:
|
||||
|
||||
- TreeNode: Fixed a layout inconsistency when using a empty/hidden label followed
|
||||
- TreeNode: Fixed a layout inconsistency when using an empty/hidden label followed
|
||||
by a SameLine() call. (#7505, #282)
|
||||
Before: TreeNode("##Hidden"); SameLine(); Text("Hello");
|
||||
// This was actually incorrect! BUT appeared to look ok with the default style
|
||||
@@ -1017,7 +1248,7 @@ Other changes:
|
||||
Note that only simple polygons (no self-intersections, no holes) are supported.
|
||||
- DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
|
||||
- Docs: added more wiki links to headers of imgui.h/imgui.cpp to facilitate discovery
|
||||
of interesting resources, because github doesn't allow Wiki to be crawled by search engines.
|
||||
of interesting resources, because GitHub doesn't allow Wiki to be crawled by search engines.
|
||||
- This is the main wiki: https://github.com/ocornut/imgui/wiki
|
||||
- This is the crawlable version: https://github-wiki-see.page/m/ocornut/imgui/wiki
|
||||
Adding a link to the crawlable version, even though it is not intended for humans,
|
||||
@@ -1169,7 +1400,7 @@ Other changes:
|
||||
- BeginChild(): Resize borders rendered even when ImGuiWindowFlags_NoBackground
|
||||
is specified. (#1710, #7194)
|
||||
- Fixed some auto-resizing path using style.WindowMinSize.x (instead of x/y)
|
||||
for both axises since 1.90. (#7106) [@n0bodysec]
|
||||
for both axes since 1.90. (#7106) [@n0bodysec]
|
||||
- Scrolling: internal scrolling value is rounded instead of truncated, as a way to reduce
|
||||
speed asymmetry when (incorrectly) attempting to scroll by non-integer amount. (#6677)
|
||||
- Navigation (Keyboard/gamepad):
|
||||
@@ -1327,7 +1558,7 @@ Other changes:
|
||||
- Combining this with also specifying ImGuiChildFlags_AlwaysAutoResize disables
|
||||
this optimization, meaning child contents will never be clipped (not recommended).
|
||||
- Please be considerate that child are full windows and carry significant overhead:
|
||||
combining auto-resizing for both axises to create a non-scrolling child to merely draw
|
||||
combining auto-resizing for both axes to create a non-scrolling child to merely draw
|
||||
a border would be better more optimally using BeginGroup(). (see #1496)
|
||||
(until we come up with new helpers for framed groups and work-rect adjustments).
|
||||
- BeginChild(): made it possible to use SetNextWindowSizeConstraints() rectangle, often
|
||||
@@ -1389,7 +1620,7 @@ Other changes:
|
||||
parent-menu would erroneously close the child-menu. (Regression from 1.88). (#6869)
|
||||
- MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously
|
||||
register contents size in a way that would affect the scrolling layer.
|
||||
Was most often noticeable when using an horizontal scrollbar. (#6789)
|
||||
Was most often noticeable when using a horizontal scrollbar. (#6789)
|
||||
- InputText:
|
||||
- InputTextMultiline: Fixed a crash pressing Down on last empty line of a multi-line buffer.
|
||||
(regression from 1.89.2, only happened in some states). (#6783, #6000)
|
||||
@@ -1595,7 +1826,7 @@ Breaking changes:
|
||||
|
||||
- Moved io.HoverDelayShort/io.HoverDelayNormal to style.HoverDelayShort/style.HoverDelayNormal.
|
||||
As the fields were added in 1.89 and expected to be left unchanged by most users, or only
|
||||
tweaked once during app initialisation, we are exceptionally accepting the breakage.
|
||||
tweaked once during app initialization, we are exceptionally accepting the breakage.
|
||||
Majority of users should not even notice.
|
||||
- Overlapping items: (#6512, #3909, #517)
|
||||
- Added 'SetNextItemAllowOverlap()' (called before an item) as a replacement for using
|
||||
@@ -1695,7 +1926,7 @@ Breaking changes:
|
||||
- Commented out obsolete/redirecting functions that were marked obsolete more than two years ago:
|
||||
- ListBoxHeader() -> use BeginListBox()
|
||||
- ListBoxFooter() -> use EndListBox()
|
||||
- Note how two variants of ListBoxHeader() existed. Check commented versions in imgui.h for refeence.
|
||||
- Note how two variants of ListBoxHeader() existed. Check commented versions in imgui.h for reference.
|
||||
- Backends: SDL_Renderer: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp',
|
||||
in order to accommodate for upcoming SDL3 and change in its SDL_Renderer API. (#6286)
|
||||
- Backends: GLUT: Removed call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame().
|
||||
@@ -1859,7 +2090,7 @@ Other changes:
|
||||
- Public API: PushTabStop(false) / PopTabStop()
|
||||
- Internal: PushItemFlag(ImGuiItemFlags_NoTabStop, true);
|
||||
- Internal: Directly pass ImGuiItemFlags_NoTabStop to ItemAdd() for custom widgets.
|
||||
- Nav: Tabbing/Shift-Tabbing can more reliably be used to step out of an item that is not
|
||||
- Nav: Tabbing/Shift+Tabbing can more reliably be used to step out of an item that is not
|
||||
tab-stoppable. (#3092, #5759, #787)
|
||||
- Nav: Made Enter key submit the same type of Activation event as Space key,
|
||||
allowing to press buttons with Enter. (#5606)
|
||||
@@ -1922,20 +2153,20 @@ Other changes:
|
||||
due to how unique table instance id was generated. (#6140) [@ocornut, @rodrigorc]
|
||||
- Inputs, Scrolling: Made horizontal scroll wheel and horizontal scroll direction consistent
|
||||
across backends/os. (#4019, #6096, #1463) [@PathogenDavid, @ocornut, @rokups]
|
||||
- Clarified that 'wheel_y > 0.0f' scrolls Up, 'wheel_y > 0.0f' scrolls Down.
|
||||
Clarified that 'wheel_x > 0.0f' scrolls Left, 'wheel_x > 0.0f' scrolls Right.
|
||||
- Clarified that 'wheel_y > 0.0f' scrolls Up, 'wheel_y < 0.0f' scrolls Down.
|
||||
Clarified that 'wheel_x > 0.0f' scrolls Left, 'wheel_x < 0.0f' scrolls Right.
|
||||
- Backends: Fixed horizontal scroll direction for Win32 and SDL backends. (#4019)
|
||||
- Shift+WheelY support on non-OSX machines was already correct. (#2424, #1463)
|
||||
(whereas on OSX machines Shift+WheelY turns into WheelX at the OS level).
|
||||
- If you use a custom backend, you should verify horizontal wheel direction.
|
||||
- Axises are flipped by OSX for mouse & touch-pad when 'Natural Scrolling' is on.
|
||||
- Axises are flipped by Windows for touch-pad when 'Settings->Touchpad->Down motion scrolls up' is on.
|
||||
- Axes are flipped by OSX for mouse & touch-pad when 'Natural Scrolling' is on.
|
||||
- Axes are flipped by Windows for touch-pad when 'Settings->Touchpad->Down motion scrolls up' is on.
|
||||
- You can use 'Demo->Tools->Debug Log->IO" to visualize values submitted to Dear ImGui.
|
||||
- Known issues remaining with Emscripten:
|
||||
- The magnitude of wheeling values on Emscripten was improved but isn't perfect. (#6096)
|
||||
- When running the Emscripten app on a Mac with a mouse, SHIFT+WheelY doesn't turn into WheelX.
|
||||
This is because we don't know that we are running on Mac and apply our own Shift+swapping
|
||||
on top of OSX' own swapping, so wheel axises are swapped twice. Emscripten apps may need
|
||||
on top of OSX's own swapping, so wheel axes are swapped twice. Emscripten apps may need
|
||||
to find a way to detect this and set io.ConfigMacOSXBehaviors manually (if you know a way
|
||||
let us know!), or offer the "OSX-style behavior" option to their user.
|
||||
- Window: Avoid rendering shapes for hidden resize grips.
|
||||
@@ -1961,7 +2192,7 @@ Other changes:
|
||||
values for io.DeltaTime, and browser features such as "privacy.resistFingerprinting=true"
|
||||
can exacerbate that. (#6114, #3644)
|
||||
- Backends: OSX: Fixed scroll/wheel scaling for devices emitting events with
|
||||
hasPreciseScrollingDeltas==false (e.g. non-Apple mices).
|
||||
hasPreciseScrollingDeltas==false (e.g. non-Apple mice).
|
||||
- Backends: Win32: flipping WM_MOUSEHWHEEL horizontal value to match other backends and
|
||||
offer consistent horizontal scrolling direction. (#4019)
|
||||
- Backends: SDL2: flipping SDL_MOUSEWHEEL horizontal value to match other backends and
|
||||
@@ -2165,7 +2396,7 @@ Other Changes:
|
||||
- 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)
|
||||
- Scrolling: Exposed SetNextWindowScroll() in public API. Useful to remove a scrolling
|
||||
delay in some situations where e.g. windows need to be synched. (#1526)
|
||||
delay in some situations where e.g. windows need to be synced. (#1526)
|
||||
- InputText: added experimental io.ConfigInputTextEnterKeepActive feature to make pressing
|
||||
Enter keep the input active and select all text.
|
||||
- InputText: numerical fields automatically accept full-width characters (U+FF01..U+FF5E)
|
||||
@@ -2209,7 +2440,7 @@ Other Changes:
|
||||
- Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
|
||||
- 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
|
||||
(the fix may have side-effect and is labelld as experimental as we may need to revert). (#5775)
|
||||
(the fix may have side-effect and is labelled as experimental as we may need to revert). (#5775)
|
||||
- Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item
|
||||
in parent window when the parent is not a popup. (#5730)
|
||||
- Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
|
||||
@@ -2347,7 +2578,7 @@ Other Changes:
|
||||
always lead to menu closure. Fixes using items that are not MenuItem() or BeginItem() at the root
|
||||
level of a popup with a child menu opened.
|
||||
- Menus: Menus emitted from the main/scrolling layer are not part of the same menu-set as menus emitted
|
||||
from the menu-bar, avoiding accidental hovering from one to the other. (#3496, #4797) [@rokups]
|
||||
from the menu-bar, avoiding accidental hovering from one to the other. (#3496, #4797) [@rokups]
|
||||
- Style: Adjust default value of GrabMinSize from 10.0f to 12.0f.
|
||||
- Stack Tool: Added option to copy item path to clipboard. (#4631)
|
||||
- Settings: Fixed out-of-bounds read when .ini file on disk is empty. (#5351) [@quantum5]
|
||||
@@ -2449,7 +2680,7 @@ Breaking Changes:
|
||||
io.AddKeyEvent(), io.AddKeyAnalogEvent().
|
||||
- Added io.AddKeyAnalogEvent() function, obsoleting writing directly to io.NavInputs[] arrays.
|
||||
- Renamed ImGuiKey_KeyPadEnter to ImGuiKey_KeypadEnter to align with new symbols. Kept redirection enum. (#2625)
|
||||
- Removed support for legacy arithmetic operators (+,+-,*,/) when inputing text into a slider/drag. (#4917, #3184)
|
||||
- Removed support for legacy arithmetic operators (+,+-,*,/) when inputting text into a slider/drag. (#4917, #3184)
|
||||
This doesn't break any api/code but a feature that was accessible by end-users (which seemingly no one used).
|
||||
(Instead you may implement custom expression evaluators to provide a better version of this).
|
||||
- Backends: GLFW: backend now uses glfwSetCursorPosCallback().
|
||||
@@ -2505,7 +2736,7 @@ Other Changes:
|
||||
- Backends: GLFW: Retrieve mouse position using glfwSetCursorPosCallback() + fallback when focused but not hovered/captured.
|
||||
- Backends: GLFW: Submit gamepad data using io.AddKeyEvent/AddKeyAnalogEvent() functions, stopped writing to io.NavInputs[]. (#4921)
|
||||
- Backends: GLFW: Added ImGui_ImplGlfw_InstallCallbacks()/ImGui_ImplGlfw_RestoreCallbacks() helpers to facilitate user installing
|
||||
callbacks after iniitializing backend. (#4981)
|
||||
callbacks after initializing backend. (#4981)
|
||||
- Backends: Win32: Submit keys and key mods using io.AddKeyEvent(). (#2625, #4921)
|
||||
- Backends: Win32: Retrieve mouse position using WM_MOUSEMOVE/WM_MOUSELEAVE + fallback when focused but not hovered/captured.
|
||||
- Backends: Win32: Submit mouse data using io.AddMousePosEvent(), AddMouseButtonEvent(), AddMouseWheelEvent() functions. (#4921)
|
||||
@@ -2587,7 +2818,7 @@ Other Changes:
|
||||
- Menus: fixed sub-menu items inside a popups from closing the popup.
|
||||
- Menus: fixed top-level menu from not consistently using style.PopupRounding. (#4788)
|
||||
- InputText, Nav: fixed repeated calls to SetKeyboardFocusHere() preventing to use InputText(). (#4682)
|
||||
- Inputtext, Nav: fixed using SetKeyboardFocusHere() on InputTextMultiline(). (#4761)
|
||||
- InputText, Nav: fixed using SetKeyboardFocusHere() on InputTextMultiline(). (#4761)
|
||||
- InputText: made double-click select word, triple-line select line. Word delimitation logic differs
|
||||
slightly from the one used by CTRL+arrows. (#2244)
|
||||
- InputText: fixed ReadOnly flag preventing callbacks from receiving the text buffer. (#4762) [@actondev]
|
||||
@@ -2618,7 +2849,7 @@ Other Changes:
|
||||
- Misc: Fix MinGW DLL build issue (when IMGUI_API is defined). [@rokups]
|
||||
- CI: Add MinGW DLL build to test suite. [@rokups]
|
||||
- Backends: Vulkan: Call vkCmdSetScissor() at the end of render with a full-viewport to reduce
|
||||
likehood of issues with people using VK_DYNAMIC_STATE_SCISSOR in their app without calling
|
||||
likelihood of issues with people using VK_DYNAMIC_STATE_SCISSOR in their app without calling
|
||||
vkCmdSetScissor() explicitly every frame. (#4644)
|
||||
- Backends: OpenGL3: Using buffer orphaning + glBufferSubData(), seems to fix leaks with multi-viewports
|
||||
with some Intel HD drivers, and perhaps improve performances. (#4468, #4504, #2981, #3381) [@parbo]
|
||||
@@ -2694,7 +2925,7 @@ Other Changes:
|
||||
- Nav: Fixed vertical scoring offset when wrapping on Y in a decorated window.
|
||||
- Nav: Improve scrolling behavior when navigating to an item larger than view.
|
||||
- TreePush(): removed unnecessary/inconsistent legacy behavior where passing a NULL value to
|
||||
the TreePush(const char*) and TreePush(const void*) functions would use an hard-coded replacement.
|
||||
the TreePush(const char*) and TreePush(const void*) functions would use a hard-coded replacement.
|
||||
The only situation where that change would make a meaningful difference is TreePush((const char*)NULL)
|
||||
(_explicitly_ casting a null pointer to const char*), which is unlikely and will now crash.
|
||||
You may replace it with anything else.
|
||||
@@ -2817,9 +3048,9 @@ Other Changes:
|
||||
- Fonts: Functions with a 'float size_pixels' parameter can accept zero if it is set in ImFontSize::SizePixels.
|
||||
- Fonts: Prefer using U+FFFD character for fallback instead of '?', if available. (#4269)
|
||||
- Fonts: Use U+FF0E dot character to construct an ellipsis if U+002E '.' is not available. (#4269)
|
||||
- Fonts: Added U+FFFD ("replacement character") to default asian glyphs ranges. (#4269)
|
||||
- Fonts: Added U+FFFD ("replacement character") to default Asian glyphs ranges. (#4269)
|
||||
- Fonts: Fixed calling ClearTexData() (clearing CPU side font data) triggering an assert in NewFrame(). (#3487)
|
||||
- DrawList: Fixed AddCircle/AddCircleFilled() with auto-tesselation not using accelerated paths for small circles.
|
||||
- DrawList: Fixed AddCircle/AddCircleFilled() with auto-tessellation not using accelerated paths for small circles.
|
||||
Fixed AddCircle/AddCircleFilled() with 12 segments which had a broken edge. (#4419, #4421) [@thedmd]
|
||||
- Demo: Fixed requirement in 1.83 to link with imgui_demo.cpp if IMGUI_DISABLE_METRICS_WINDOW is not set. (#4171)
|
||||
Normally the right way to disable compiling the demo is to set IMGUI_DISABLE_DEMO_WINDOWS, but we want to avoid
|
||||
@@ -2863,7 +3094,7 @@ Other Changes:
|
||||
- Examples: OSX+OpenGL2: Fix event forwarding (fix key remaining stuck when using shortcuts with Cmd/Super key).
|
||||
Other OSX examples were not affected. (#4253, #1873) [@rokups]
|
||||
- Examples: Updated all .vcxproj to VS2015 (toolset v140) to facilitate usage with vcpkg.
|
||||
- Examples: SDL2: Accommodate for vcpkg install having headers in SDL2/SDL.h vs SDL.h.
|
||||
- Examples: SDL2: Accommodate for vcpkg install having headers in SDL2/SDL.h vs SDL.h.
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
@@ -2985,7 +3216,7 @@ Breaking Changes:
|
||||
- ImDrawList: clarified that PathArcTo()/PathArcToFast() won't render with radius < 0.0f. Previously it sorts
|
||||
of accidentally worked but would lead to counter-clockwise paths which and have an effect on anti-aliasing.
|
||||
- InputText: renamed ImGuiInputTextFlags_AlwaysInsertMode to ImGuiInputTextFlags_AlwaysOverwrite, old name was an
|
||||
incorrect description of behavior. Was ostly used by memory editor. Kept inline redirection function. (#2863)
|
||||
incorrect description of behavior. Was mostly used by memory editor. Kept inline redirection function. (#2863)
|
||||
- Moved 'misc/natvis/imgui.natvis' to 'misc/debuggers/imgui.natvis' as we will provide scripts for other debuggers.
|
||||
- Style: renamed rarely used style.CircleSegmentMaxError (old default = 1.60f)
|
||||
to style.CircleTessellationMaxError (new default = 0.30f) as its meaning changed. (#3808) [@thedmd]
|
||||
@@ -3083,7 +3314,7 @@ Other Changes:
|
||||
- For a Platform Monitor, the work area is generally the full area minus space used by task-bars.
|
||||
- All of this has been the case in 'docking' branch for a long time. What we've done is merely merging
|
||||
a small chunk of the multi-viewport logic into 'master' to standardize some concepts ahead of time.
|
||||
- Tables: Fixed PopItemWidth() or multi-components items not restoring per-colum ItemWidth correctly. (#3760)
|
||||
- Tables: Fixed PopItemWidth() or multi-components items not restoring per-column ItemWidth correctly. (#3760)
|
||||
- Window: Fixed minor title bar text clipping issue when FramePadding is small/zero and there are no
|
||||
close button in the window. (#3731)
|
||||
- SliderInt: Fixed click/drag when v_min==v_max from setting the value to zero. (#3774) [@erwincoumans]
|
||||
@@ -3120,7 +3351,7 @@ Other Changes:
|
||||
User needs to call ImGui_ImplVulkan_LoadFunctions() with their custom loader prior to other functions.
|
||||
- Backends: Metal: Fixed texture storage mode when building on Mac Catalyst. (#3748) [@Belinsky-L-V]
|
||||
- Backends: OSX: Fixed mouse position not being reported when mouse buttons other than left one are down. (#3762) [@rokups]
|
||||
- Backends: WebGPU: Added enderer backend for WebGPU support (imgui_impl_wgpu.cpp) (#3632) [@bfierz]
|
||||
- Backends: WebGPU: Added renderer backend for WebGPU support (imgui_impl_wgpu.cpp) (#3632) [@bfierz]
|
||||
Please note that WebGPU is currently experimental, will not run on non-beta browsers, and may break.
|
||||
- Examples: WebGPU: Added Emscripten+WebGPU example. (#3632) [@bfierz]
|
||||
- Backends: GLFW: Added ImGui_ImplGlfw_InitForOther() initialization call to use with non OpenGL API. (#3632)
|
||||
@@ -3319,12 +3550,12 @@ Other Changes:
|
||||
- Columns: Fix inverted ClipRect being passed to renderer when using certain primitives inside of
|
||||
a fully clipped column. (#3475) [@szreder]
|
||||
- Popups, Tooltips: Fix edge cases issues with positioning popups and tooltips when they are larger than
|
||||
viewport on either or both axises. [@Rokups]
|
||||
viewport on either or both axes. [@Rokups]
|
||||
- Fonts: AddFontDefault() adjust its vertical offset based on floor(size/13) instead of always +1.
|
||||
Was previously done by altering DisplayOffset.y but wouldn't work for DPI scaled font.
|
||||
- Metrics: Various tweaks, listing windows front-to-back, greying inactive items when possible.
|
||||
- Demo: Add simple InputText() callbacks demo (aside from the more elaborate ones in 'Examples->Console').
|
||||
- Backends: OpenGL3: Fix to avoid compiling/calling glBindSampler() on ES or pre 3.3 contexts which have
|
||||
- Backends: OpenGL3: Fix to avoid compiling/calling glBindSampler() on ES or pre-3.3 contexts which have
|
||||
the defines set by a loader. (#3467, #1985) [@jjwebb]
|
||||
- Backends: Vulkan: Some internal refactor aimed at allowing multi-viewport feature to create their
|
||||
own render pass. (#3455, #3459) [@FunMiles]
|
||||
@@ -3413,7 +3644,7 @@ Other Changes:
|
||||
and allowed to pass them to InvisibleButton(): ImGuiButtonFlags_MouseButtonLeft/Right/Middle.
|
||||
This is a small but rather important change because lots of multi-button behaviors could previously
|
||||
only be achieved using lower-level/internal API. Now also available via high-level InvisibleButton()
|
||||
with is a de-facto versatile building block to creating custom widgets with the public API.
|
||||
with is a de facto versatile building block to creating custom widgets with the public API.
|
||||
- Fonts: Fixed ImFontConfig::GlyphExtraSpacing and ImFontConfig::PixelSnapH settings being pulled
|
||||
from the merged/target font settings when merging fonts, instead of being pulled from the source
|
||||
font settings.
|
||||
@@ -3560,7 +3791,7 @@ Other Changes:
|
||||
ImGuiListClipper as the first thing after Begin() could largely break size calculations. (#3073)
|
||||
- Added optional support for Unicode plane 1-16 (#2538, #2541, #2815) [@cloudwu, @samhocevar]
|
||||
- Compile-time enable with '#define IMGUI_USE_WCHAR32' in imconfig.h.
|
||||
- More onsistent handling of unsupported code points (0xFFFD).
|
||||
- More consistent handling of unsupported code points (0xFFFD).
|
||||
- Surrogate pairs are supported when submitting UTF-16 data via io.AddInputCharacterUTF16(),
|
||||
allowing for more complete CJK input.
|
||||
- sizeof(ImWchar) goes from 2 to 4. IM_UNICODE_CODEPOINT_MAX goes from 0xFFFF to 0x10FFFF.
|
||||
@@ -3644,7 +3875,7 @@ Other Changes:
|
||||
|
||||
- Inputs: Added ImGuiMouseButton enum for convenience (e.g. ImGuiMouseButton_Right=1).
|
||||
We forever guarantee that the existing value will not changes so existing code is free to use 0/1/2.
|
||||
- Nav: Fixed a bug where the initial CTRL-Tab press while in a child window sometimes selected
|
||||
- Nav: Fixed a bug where the initial CTRL+Tab press while in a child window sometimes selected
|
||||
the current root window instead of always selecting the previous root window. (#787)
|
||||
- ColorEdit: Fix label alignment when using ImGuiColorEditFlags_NoInputs. (#2955) [@rokups]
|
||||
- ColorEdit: In HSV display of a RGB stored value, attempt to locally preserve Saturation
|
||||
@@ -3817,7 +4048,7 @@ Other Changes:
|
||||
mostly for consistency. (#2159, #2160) [@goran-w]
|
||||
- Selectable: Added ImGuiSelectableFlags_AllowItemOverlap flag in public api (was previously internal only).
|
||||
- Style: Allow style.WindowMenuButtonPosition to be set to ImGuiDir_None to hide the collapse button. (#2634, #2639)
|
||||
- Font: Better ellipsis ("...") drawing implementation. Instead of drawing three pixel-ey dots (which was glaringly
|
||||
- Font: Better ellipsis ("...") drawing implementation. Instead of drawing three pixely dots (which was glaringly
|
||||
unfitting with many types of fonts) we first attempt to find a standard ellipsis glyphs within the loaded set.
|
||||
Otherwise we render ellipsis using '.' from the font from where we trim excessive spacing to make it as narrow
|
||||
as possible. (#2775) [@rokups]
|
||||
@@ -4153,7 +4384,7 @@ Other Changes:
|
||||
- InputText: Fixed an edge case crash that would happen if another widget sharing the same ID
|
||||
is being swapped with an InputText that has yet to be activated.
|
||||
- InputText: Fixed various display corruption related to swapping the underlying buffer while
|
||||
a input widget is active (both for writable and read-only paths). Often they would manifest
|
||||
an input widget is active (both for writable and read-only paths). Often they would manifest
|
||||
when manipulating the scrollbar of a multi-line input text.
|
||||
- ColorEdit, ColorPicker, ColorButton: Added ImGuiColorEditFlags_InputHSV to manipulate color
|
||||
values encoded as HSV (in order to avoid HSV<>RGB round trips and associated singularities).
|
||||
@@ -4164,7 +4395,7 @@ Other Changes:
|
||||
reading the 4th float in the array (value was read and discarded). (#2384) [@haldean]
|
||||
- MenuItem, Selectable: Fixed disabled widget interfering with navigation (fix c2db7f63 in 1.67).
|
||||
- Tabs: Fixed a crash when using many BeginTabBar() recursively (didn't affect docking). (#2371)
|
||||
- Tabs: Added extra mis-usage error recovery. Past the assert, common mis-usage don't lead to
|
||||
- Tabs: Added extra misusage error recovery. Past the assert, common misusage don't lead to
|
||||
hard crashes any more, facilitating integration with scripting languages. (#1651)
|
||||
- Tabs: Fixed ImGuiTabItemFlags_SetSelected being ignored if the tab is not visible (with
|
||||
scrolling policy enabled) or if is currently appearing.
|
||||
@@ -4207,7 +4438,7 @@ Breaking Changes:
|
||||
|
||||
- Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
|
||||
- Made it illegal/assert when io.DisplayTime == 0.0f (with an exception for the first frame).
|
||||
If for some reason your time step calculation gives you a zero value, replace it with a arbitrarily small value!
|
||||
If for some reason your time step calculation gives you a zero value, replace it with an arbitrarily small value!
|
||||
|
||||
Other Changes:
|
||||
|
||||
@@ -4305,7 +4536,7 @@ Other Changes:
|
||||
in the parent window, so there is no mismatch between the layout in parent and the position of the child window.
|
||||
- InputFloat: When using ImGuiInputTextFlags_ReadOnly the step buttons are disabled. (#2257)
|
||||
- DragFloat: Fixed broken mouse direction change with power!=1.0. (#2174, #2206) [@Joshhua5]
|
||||
- Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary
|
||||
- Nav: Fixed a keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary
|
||||
keep the focus on the parent window, which could steal it from newly appearing windows. (#787)
|
||||
- Nav: Fixed animated window titles from being updated when displayed in the CTRL+Tab list. (#787)
|
||||
- Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function closer
|
||||
@@ -4457,7 +4688,7 @@ Changes:
|
||||
then separate your changes into several patches that can more easily be applied to 1.64 on a per-file basis.
|
||||
What I found worked nicely for me, was to open the diff of the old patches in an interactive merge/diff tool,
|
||||
search for the corresponding function in the new code and apply the chunks manually.
|
||||
- As a reminder, if you have any change to imgui.cpp it is a good habit to discuss them on the github,
|
||||
- As a reminder, if you have any change to imgui.cpp it is a good habit to discuss them on the GitHub,
|
||||
so a solution applicable on the Master branch can be found. If your company has changes that you cannot
|
||||
disclose you may also contact me privately.
|
||||
|
||||
@@ -4492,7 +4723,7 @@ Other Changes:
|
||||
- Nav: Added a CTRL+TAB window list and changed the highlight system accordingly. The change is motivated by upcoming
|
||||
Docking features. (#787)
|
||||
- Nav: Made CTRL+TAB skip menus + skip the current navigation window if is has the ImGuiWindow_NoNavFocus set. (#787)
|
||||
While it was previously possible, you won't be able to CTRL-TAB out and immediately back in a window with the
|
||||
While it was previously possible, you won't be able to CTRL+TAB out and immediately back in a window with the
|
||||
ImGuiWindow_NoNavFocus flag.
|
||||
- Window: Allow menu and popups windows from ignoring the style.WindowMinSize values so short menus/popups are not padded. (#1909)
|
||||
- Window: Added global io.ConfigResizeWindowsFromEdges option to enable resizing windows from their edges and from
|
||||
@@ -4527,7 +4758,7 @@ Other Changes:
|
||||
- Fixed assertion when transitioning from an active ID to another within a group, affecting ColorPicker (broken in 1.62). (#2023, #820, #956, #1875).
|
||||
- Fixed PushID() from keeping alive the new ID Stack top value (if a previously active widget shared the ID it would be erroneously kept alive).
|
||||
- Fixed horizontal mouse wheel not forwarding the request to the parent window if ImGuiWindowFlags_NoScrollWithMouse is set. (#1463, #1380, #1502)
|
||||
- Fixed a include build issue for Cygwin in non-POSIX (Win32) mode. (#1917, #1319, #276)
|
||||
- Fixed an include build issue for Cygwin in non-POSIX (Win32) mode. (#1917, #1319, #276)
|
||||
- ImDrawList: Improved handling for worst-case vertices reservation policy when large amount of text (e.g. 1+ million character strings)
|
||||
are being submitted in a single call. It would typically have crashed InputTextMultiline(). (#200)
|
||||
- OS/Windows: Fixed missing ImmReleaseContext() call in the default Win32 IME handler. (#1932) [@vby]
|
||||
@@ -4762,7 +4993,7 @@ Other Changes:
|
||||
- Set io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard to enable. NewFrame() will automatically
|
||||
fill io.NavInputs[] based on your io.KeysDown[] + io.KeyMap[] arrays.
|
||||
- Basic controls: arrows to navigate, Alt to enter menus, Space to activate item, Enter to edit text,
|
||||
Escape to cancel/close, Ctrl-Tab to focus windows, etc.
|
||||
Escape to cancel/close, Ctrl+Tab to focus windows, etc.
|
||||
- When keyboard navigation is active (io.NavActive + ImGuiConfigFlags_NavEnableKeyboard),
|
||||
the io.WantCaptureKeyboard flag will be set.
|
||||
- For more advanced uses, you may want to read from io.NavActive or io.NavVisible. Read imgui.cpp for more details.
|
||||
@@ -4812,7 +5043,7 @@ Other Changes:
|
||||
- Style: Exposed ImGuiStyleVar_WindowTitleAlign, ImGuiStyleVar_ScrollbarSize, ImGuiStyleVar_ScrollbarRounding,
|
||||
ImGuiStyleVar_GrabRounding + added an assert to reduce accidental breakage. (#1181)
|
||||
- Style: Added style.MouseCursorScale help when using the software mouse cursor facility. (#939).
|
||||
- Style: Close button nows display a cross before hovering. Fixed cross positioning being a little off. Uses button colors for highlight when hovering. (#707)
|
||||
- Style: Close buttons now display a cross before hovering. Fixed cross positioning being a little off. Uses button colors for highlight when hovering. (#707)
|
||||
- Popup: OpenPopup() Always reopen existing pop-ups. (Removed imgui_internal.h's OpenPopupEx() which was used for this.) (#1497, #1533).
|
||||
- Popup: BeginPopupContextItem(), BeginPopupContextWindow(), BeginPopupContextVoid(), OpenPopupOnItemClick() all react on mouse release instead of mouse press. (~#439)
|
||||
- Popup: Better handling of user mistakenly calling OpenPopup() every frame (with the 'reopen_existing' option).
|
||||
@@ -4835,7 +5066,7 @@ Other Changes:
|
||||
- Drag and Drop: Increased payload type string to 32 characters instead of 8. (#143)
|
||||
- Drag and Drop: TreeNode as drop target displays rectangle over full frame. (#1597, #143)
|
||||
- DragFloat: Fix/workaround for backends which do not preserve a valid mouse position when dragged out of bounds. (#1559)
|
||||
- InputFloat: Allow inputing value using scientific notation e.g. "1e+10".
|
||||
- InputFloat: Allow inputting value using scientific notation e.g. "1e+10".
|
||||
- InputDouble: Added InputDouble() function. We use a format string instead of a 'decimal_precision'
|
||||
parameter to also for "%e" and variants. (#1011)
|
||||
- Slider, Combo: Use ImGuiCol_FrameBgHovered color when hovered. (#1456) [@stfx]
|
||||
@@ -4880,7 +5111,7 @@ Other Changes:
|
||||
- Demo: Improved Selectable() examples. (#1528)
|
||||
- Demo: Tweaked the Child demos, added a menu bar to the second child to test some navigation functions.
|
||||
- Demo: Console: Using ImGuiCol_Text to be more friendly to color changes.
|
||||
- Demo: Using IM_COL32() instead of ImColor() in ImDrawList centric contexts. Trying to phase out use of the ImColor helper whenever possible.
|
||||
- Demo: Using IM_COL32() instead of ImColor() in ImDrawList-centric contexts. Trying to phase out use of the ImColor helper whenever possible.
|
||||
- Examples: Files in examples/ now include their own changelog so it is easier to occasionally update your backends if needed.
|
||||
- Examples: Using Dark theme by default. (#707). Tweaked demo code.
|
||||
- Examples: Added support for horizontal mouse wheel for API that allows it. (#1463) [@tseeker]
|
||||
@@ -4998,7 +5229,7 @@ Other Changes:
|
||||
- Window: Added ImGuiWindowFlags_ResizeFromAnySide flag to resize from any borders or from the
|
||||
lower-left corner of a window. This requires your backend to honor GetMouseCursor() requests
|
||||
for full usability. (#822)
|
||||
- Window: Sizing fixes when using SetNextWindowSize() on individual axises.
|
||||
- Window: Sizing fixes when using SetNextWindowSize() on individual axes.
|
||||
- Window: Hide new window for one frame until they calculate their size.
|
||||
Also fixes SetNextWindowPos() given a non-zero pivot. (#1694)
|
||||
- Window: Made mouse wheel scrolling accommodate better to windows that are smaller than the scroll step.
|
||||
@@ -5300,7 +5531,7 @@ Other Changes:
|
||||
check the Demo window and comment for `ImGuiColorEditFlags_`.
|
||||
Some of the options it supports are: two color picker types (hue bar + sat/val rectangle,
|
||||
hue wheel + rotating sat/val triangle), display as u8 or float, lifting 0.0..1.0 constraints
|
||||
(currently rgba only), context menus, alpha bar, background checkerboard options, preview tooltip,
|
||||
(currently rgba only), context menus, alpha bar, background checkerboard options, preview tooltip,
|
||||
basic revert. For simple use, calling the existing `ColorEdit4()` function as you did before
|
||||
will be enough, as you can now open the color picker from there.
|
||||
- Added `SetColorEditOptions()` to set default color options (e.g. if you want HSV over RGBA,
|
||||
@@ -5402,7 +5633,7 @@ Other Changes:
|
||||
certain style settings and zero WindowMinSize).
|
||||
- EndGroup(): Made IsItemHovered() work when an item was activated within the group. (#849)
|
||||
- BulletText(): Fixed stopping to display formatted string after the '##' mark.
|
||||
- Closing the focused window restore focus to the first active root window in descending z-order .(part of #727)
|
||||
- Closing the focused window restore focus to the first active root window in descending z-order. (part of #727)
|
||||
- Word-wrapping: Fixed a bug where we never wrapped after a 1 character word. [@sronsse]
|
||||
- Word-wrapping: Fixed TextWrapped() overriding wrap position if one is already set. (#690)
|
||||
- Word-wrapping: Fixed incorrect testing for negative wrap coordinates, they are perfectly legal. (#706)
|
||||
@@ -5439,7 +5670,7 @@ Other Changes:
|
||||
- Demo: ShowStyleEditor: show font character map / grid in more details.
|
||||
- Demo: Console: Fixed a completion bug when multiple candidates are equals and match until the end.
|
||||
- Demo: Fixed 1-byte off overflow in the ShowStyleEditor() combo usage. (#783) [@bear24rw]
|
||||
- Examples: Accessing ImVector fields directly, feel less stl-ey. (#810)
|
||||
- Examples: Accessing ImVector fields directly, feel less stl-y. (#810)
|
||||
- Examples: OpenGL*: Saving/restoring existing scissor rectangle for completeness. (#807)
|
||||
- Examples: OpenGL*: Saving/restoring active texture number (the value modified by glActiveTexture). (#1087, #1088, #1116)
|
||||
- Examples: OpenGL*: Saving/restoring separate color/alpha blend functions correctly. (#1120) [@greggman]
|
||||
@@ -5603,7 +5834,7 @@ Other Changes:
|
||||
after a text input modification (e.g. "0.0" --> "0.000" would keep returning true). (#564)
|
||||
- DragFloat(): Always apply value when mouse is held/widget active, so that an always-resetting
|
||||
variable (e.g. non saved local) can be passed.
|
||||
- InputText(): OS X friendly behaviors: (@zhiayang), (#473)
|
||||
- InputText(): OS X friendly behaviors: (@zhiayang), (#473)
|
||||
- Word movement uses ALT key;
|
||||
- Shortcuts uses CMD key;
|
||||
- Double-clicking text select a single word;
|
||||
@@ -5728,7 +5959,7 @@ Changes:
|
||||
- PlotHistogram(): improved rendering of histogram with a lot of values.
|
||||
- Dummy(): creates an item so functions such as IsItemHovered() can be used.
|
||||
- BeginChildFrame() helper: added the extra_flags parameter.
|
||||
- Scrollbar: fixed rounding of background + child window consistenly have ChildWindowBg color under ScrollbarBg fill. (#355).
|
||||
- Scrollbar: fixed rounding of background + child window consistently have ChildWindowBg color under ScrollbarBg fill. (#355).
|
||||
- Scrollbar: background color less translucent in default style so it works better when changing background color.
|
||||
- Scrollbar: fixed minor rendering offset when borders are enabled. (#365)
|
||||
- ImDrawList: fixed 1 leak per ImDrawList using the ChannelsSplit() API (via Columns). (#318)
|
||||
@@ -5744,7 +5975,7 @@ Changes:
|
||||
- Internal: Extracted a EndFrame() function out of Render() but kept it internal/private + clarified some asserts. (#335)
|
||||
- Internal: Added missing IMGUI_API definitions in imgui_internal.h (#326)
|
||||
- Internal: ImLoadFileToMemory() return void\* instead of taking void*\* + allow optional int\* file_size.
|
||||
- Demo: Horizontal scrollbar demo allows to enable simultanaeous scrollbars on both axises.
|
||||
- Demo: Horizontal scrollbar demo allows to enable simultaneous scrollbars on both axes.
|
||||
- Tools: binary_to_compressed_c.cpp: added -nocompress option.
|
||||
- Examples: Added example for the Marmalade platform.
|
||||
- Examples: Added batch files to build Windows examples with VS.
|
||||
@@ -5789,7 +6020,7 @@ Other Changes:
|
||||
- ImDrawList: Added an assert on overflowing index value (#292).
|
||||
- ImDrawList: Fixed issues with channels split/merge. Now functional without manually adding a draw cmd. Added comments.
|
||||
- ImDrawData: Added ScaleClipRects() helper useful when rendering scaled. (#287).
|
||||
- Fixed Bullet() inconsistent layout behaviour when clipped.
|
||||
- Fixed Bullet() inconsistent layout behavior when clipped.
|
||||
- Fixed IsWindowHovered() not taking account of window hoverability (may be disabled because of a popup).
|
||||
- Fixed InvisibleButton() not honoring negative size consistently with other widgets that do so.
|
||||
- Fixed OpenPopup() accessing current window, effectively opening "Debug" when called from an empty window stack.
|
||||
@@ -5801,7 +6032,7 @@ Other Changes:
|
||||
the first place so it's not really a useful default.
|
||||
- Begin(): Minor fixes with windows main clipping rectangle (e.g. child window with border).
|
||||
- Begin(): Window flags are only read on the first call of the frame. Subsequent calls ignore flags, which allows
|
||||
appending to a window without worryin about flags.
|
||||
appending to a window without worrying about flags.
|
||||
- InputText(): ignore character input when ctrl/alt are held. (Normally those text input are ignored by most wrappers.) (#279).
|
||||
- Demo: Fixed incorrectly formed string passed to Combo (#298).
|
||||
- Demo: Added simple Log demo.
|
||||
@@ -5835,7 +6066,7 @@ Other Changes:
|
||||
and more natural to extend ImGui. However please note that none of the content in imgui_internal.h is guaranteed
|
||||
for forward-compatibility and code using those types/functions may occasionally break. (#219)
|
||||
- All sample code is in imgui_demo.cpp. Please keep this file in your project and consider allowing your code to call
|
||||
the ShowTestWindow() function as de-facto guide to ImGui features. It will be stripped out by the linker when unused.
|
||||
the ShowTestWindow() function as de facto guide to ImGui features. It will be stripped out by the linker when unused.
|
||||
- Added GetContentRegionAvail() helper (basically GetContentRegionMax() - GetCursorPos()).
|
||||
- Added ImGuiWindowFlags_NoInputs for totally input-passthru window.
|
||||
- Button(): honor negative size consistently with other widgets that do so (width -100 to align the button 100 pixels
|
||||
@@ -6200,7 +6431,7 @@ Other Changes:
|
||||
- IsItemHovered() return false if another widget is active, aka we can't use what we are hovering now.
|
||||
- Added IsItemHoveredRect() if old behavior of IsItemHovered() is needed (e.g. for implementing
|
||||
the drop side of a drag'n drop operation).
|
||||
- IsItemhovered() include space taken by label and behave consistently for all widgets (#145)
|
||||
- IsItemHovered() include space taken by label and behave consistently for all widgets (#145)
|
||||
- Auto-filling child window feed their content size to parent (#170)
|
||||
- InputText() removed the odd ~ characters when clipping.
|
||||
- InputText() update its width in case of resize initiated programmatically while the widget is active.
|
||||
@@ -6264,7 +6495,7 @@ Other Changes:
|
||||
- Sliders: Fixed parsing of decimal precision back from format string when using %%.
|
||||
- Sliders: Fixed hovering bounding test excluding padding between outer frame and grab (there was a few pixels dead-zone).
|
||||
- Separator() logs itself as text when passing through text log.
|
||||
- Optimisation: TreeNodeV() early out if SkipItems is set without formatting.
|
||||
- Optimization: TreeNodeV() early out if SkipItems is set without formatting.
|
||||
- Moved various static buffers into state. Increase the formatted string buffer from 1K to 3K.
|
||||
- Examples: Example console keeps focus on input box at all times.
|
||||
- Examples: Updated to GLFW 3.1. Moved to examples/libs/ folder.
|
||||
@@ -6393,8 +6624,8 @@ Other Changes:
|
||||
Callback now passed an "EventFlag" parameter.
|
||||
- InputText: Added ImGuiInputTextFlags_CharsUppercase and ImGuiInputTextFlags_CharsNoBlank stock filters.
|
||||
- PushItemWidth() can take negative value to right-align items.
|
||||
- Optimisation: Columns offsets cached to avoid unnecessary binary search.
|
||||
- Optimisation: Optimized CalcTextSize() function by about 25% (they are often the bottleneck when
|
||||
- Optimization: Columns offsets cached to avoid unnecessary binary search.
|
||||
- Optimization: Optimized CalcTextSize() function by about 25% (they are often the bottleneck when
|
||||
submitting thousands of clipped items).
|
||||
- Added ImGuiCol_ChildWindowBg, ImGuiStyleVar_ChildWindowRounding for completeness and flexibility.
|
||||
- Added BeginChild() variant that takes an ImGuiID.
|
||||
@@ -6437,7 +6668,7 @@ Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v
|
||||
|
||||
Breaking Changes:
|
||||
|
||||
- Big update! Initialisation had to be changed. You don't need to load PNG data anymore. Th
|
||||
- Big update! Initialization had to be changed. You don't need to load PNG data anymore. The
|
||||
new system gives you uncompressed texture data.
|
||||
- This sequence:
|
||||
const void* png_data;
|
||||
@@ -6447,7 +6678,7 @@ Breaking Changes:
|
||||
- Became:
|
||||
unsigned char* pixels;
|
||||
int width, height;
|
||||
// io.Fonts->AddFontFromFileTTF("myfontfile.ttf", 24.0f); // Optionally load another font
|
||||
// io.Fonts->AddFontFromFileTTF("myfontfile.ttf", 24.0f); // Optionally load another font
|
||||
io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height);
|
||||
// <Copy to GPU>
|
||||
io.Fonts->TexID = (your_texture_identifier);
|
||||
@@ -6469,7 +6700,7 @@ Other Changes:
|
||||
- Added IsItemActive() to tell if last widget is being held / modified (as opposed to just
|
||||
being hovered). Useful for custom dragging behaviors.
|
||||
- Style: Added FrameRounding setting for a more rounded look (default to 0 for now).
|
||||
- Window: Fixed using multiple Begin/End pair on the same wnidow.
|
||||
- Window: Fixed using multiple Begin/End pair on the same window.
|
||||
- Window: Fixed style.WindowMinSize not being honored properly.
|
||||
- Window: Added SetCursorScreenPos() helper (WindowPos+CursorPos = ScreenPos).
|
||||
- ColorEdit3: clicking on color square change the edition. The toggle button is hidden by default.
|
||||
@@ -6500,10 +6731,10 @@ Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v
|
||||
- Dragging outside area of a widget while it is active doesn't trigger hover on other widgets.
|
||||
- Activating widget bring parent window to front if not already.
|
||||
- Checkbox and Radio buttons activate on click-release to be consistent with other widgets and most UI.
|
||||
- InputText() nows consume input characters immediately so they cannot be reused if
|
||||
- InputText() now consumes input characters immediately so they cannot be reused if
|
||||
ImGui::Update is called again with a call to ImGui::Render(). (fixes #105)
|
||||
- Examples: Console: added support for History callbacks + some cleanup.
|
||||
- Various small optimisations.
|
||||
- Various small optimizations.
|
||||
- Cleanup and other fixes.
|
||||
|
||||
|
||||
@@ -6706,7 +6937,7 @@ Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v
|
||||
|
||||
Breaking Changes:
|
||||
|
||||
- The behaviour of PixelCenterOffset changed! You may need to change your value if you had set
|
||||
- The behavior of PixelCenterOffset changed! You may need to change your value if you had set
|
||||
it to non-default in your code and/or offset your projection matrix by 0.5 pixels. It is
|
||||
likely that the default PixelCenterOffset value of 0.0 is now suitable unless your rendering
|
||||
uses some form of multisampling.
|
||||
@@ -6800,7 +7031,7 @@ Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v
|
||||
|
||||
- OpenGL example now use the fixed function-pipeline + cleanups, down by 150 lines.
|
||||
- Added quick & dirty Makefiles for MacOSX and Linux.
|
||||
- Simplified the DrawList system, ImDrawCmd include the clipping rectangle + some optimisations.
|
||||
- Simplified the DrawList system, ImDrawCmd include the clipping rectangle + some optimizations.
|
||||
- Fixed warnings for more stringent compilation settings.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user