1
0
forked from clibs/imgui

Update to v1.91.8

This commit is contained in:
Dirk Müller 2025-02-10 17:39:26 +01:00
parent 69f85d5d39
commit 0a13f16bc6
No known key found for this signature in database
6 changed files with 214 additions and 65 deletions

View File

@ -1,4 +0,0 @@
mtime: 1732622426
commit: c377a76d74e235cafb8a13eabf291de270ba6543949a203100c2dcfa8ecde78a
url: https://src.opensuse.org/clibs/imgui
revision: master

BIN
build.specials.obscpio (Stored with Git LFS)

Binary file not shown.

View File

@ -1,3 +1,159 @@
-------------------------------------------------------------------
Mon Feb 10 14:40:19 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 1.91.8:
* 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)
* 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)
* Windows, Style: Fixed small rendering issues with menu bar,
resize grip and scrollbar when using thick border sizes.
* Windows: Fixed IsItemXXXX() functions not working on append-
version of EndChild(). (#8350)
* Error Handling: Recovery from missing EndMenuBar() call.
* Tables, Menus: Fixed using BeginTable() in menu layer (any
menu bar). (#8355)
* Tables, Menus: Fixed tables or child windows submitted inside
BeginMainMenuBar()
* ColorEdit, ColorPicker: Fixed alpha preview broken in 1.91.7.
* Tabs, Style: reworked selected overline rendering to better
accommodate for rounded tabs. Reduced default thickness
(style.TabBarOverlineSize), increased default rounding
(style.TabRounding).
* 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().
#7831) [@NostraMagister]
* Backends: SDL2: removed assert preventing using
ImGui_ImplSDL2_SetGamepadMode()
with ImGui_ImplSDL2_GamepadMode_Manual and an empty array.
* Backends: SDL3: removed assert preventing using
ImGui_ImplSDL3_SetGamepadMode()
with ImGui_ImplSDL3_GamepadMode_Manual and an empty array.
* Backends: SDLGPU3: Exposed ImGui_ImplSDLGPU3_CreateDeviceObje
cts()/_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]
* TreeNode: renamed ImGuiTreeNodeFlags_SpanTextWidth to
ImGuiTreeNodeFlags_SpanLabelWidth
for consistency with other names. Kept redirection enum
(will obsolete). (#6937)
* Fixed issues with IsItemDeactivated() and
IsItemDeactivatedAfterEdit() not emitting a reliable signal
when an item is deactivated externally: e.g.
via an explicit clear of focus, clear of active id, opening
of modal etc.
* It used to work when the interruption happened in the
frame before the active item as submitted, but not after.
It should work in both cases now.
* InputText: Fixed a bug where character replacements performed
from a callback were not applied when pasting from clipboard.
* InputText: Fixed issue when activating a ReadOnly field when
the underlying value is being modified. (#8242)
* InputText: Added sanity check to detect some cases of passing
a non zero-terminated input buffer.
* InputText: Fixed not calling CallbackEdit on revert/clear
with Escape key, although IsItemEdited() was behaving correctly.
* Tables: Fixed TableAngledHeadersRow() creating an infinite
horizontal scrolling region when the table is hosted in a
viewport with negative coordinates (left of primary monitor,
with multi-viewports enabled).
* Tables, MultiSelect: Fixed an issue where column width may be
mismeasured when calling BeginMultiSelect() while inside a
table.
* TreeNode, Tables: Added
ImGuiTreeNodeFlags_LabelSpanAllColumns to make
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)
* 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)
* Nav: Fixed an issue where Alt key would clear current active
item on windows with the ImGuiWindowFlags_NoNavInputs flag.
(#8231)
* Debug Tools: Debug Log: hovering 0xXXXXXXXX values in log is
allowed even if a popup is blocking mouse access to the debug
log window. (#5855)
* Debug Tools: Item Picker: Always available in Tools menu
regardless of value of io.ConfigDebugIsDebuggerPresent. (#2673)
* Fonts: Fixed miscalculation of Ellipsis ("...") character
width when automatically created from a single comma character,
affecting some fonts/settings (not all).
* 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().
* Backends: SDLGPU3 for SDL3: Added backend for SDL_GPU!
* Backends: SDL3: Added ImGui_ImplSDL3_InitForSDLGPU() for
consistency, even though it is currently not doing anything
particular.
* Backends: Allegro5: Avoid calling al_set_mouse_cursor()
repeatedly since it appears to leak on on X11 (#8256).
* Backends: Metal: Fixed leaks when using metal-cpp. (#8276,
#8166) [@selimsandal]
* Backends: Vulkan: Added
IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE to clarify
how many image sampler descriptors are expected to be
available in the provided descriptor pool. Current backend
needs 1 but it is expected that by end of Q1 2025
this number will grow (will stay a small number).
* Backends: DX11: Expose vertex constant buffer in
ImGui_ImplDX11_RenderState.
* Reset projection matrix in ImDrawCallback_ResetRenderState
handlers. (#6969, #5834, #7468, #3590)
* Backends: DX10: Expose ImGui_ImplDX10_RenderState for
completeness. (#6969, #5834, #7468, #3590)
* Examples: Added Win32+Vulkan example for completeness.
(#8180) [@jristic]
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Nov 26 05:31:00 UTC 2024 - ming li <mli@suse.com> Tue Nov 26 05:31:00 UTC 2024 - ming li <mli@suse.com>
@ -5,26 +161,26 @@ Tue Nov 26 05:31:00 UTC 2024 - ming li <mli@suse.com>
Breaking Changes: Breaking Changes:
* IO, IME: renamed platform IME hook and added explicit context for * IO, IME: renamed platform IME hook and added explicit context for
consistency and future-proofness. consistency and future-proofness.
old: io.SetPlatformImeDataFn(ImGuiViewport* viewport, old: io.SetPlatformImeDataFn(ImGuiViewport* viewport,
ImGuiPlatformImeData* data); ImGuiPlatformImeData* data);
new: io.PlatformSetImeDataFn(ImGuiContext* ctx, ImGuiViewport* new: io.PlatformSetImeDataFn(ImGuiContext* ctx, ImGuiViewport*
viewport, ImGuiPlatformImeData* data); viewport, ImGuiPlatformImeData* data);
It is expected that for a vast majority of users this is It is expected that for a vast majority of users this is
automatically set by core library and/or platform backend so automatically set by core library and/or platform backend so
it won't have any effect. it won't have any effect.
* Obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and * Obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and
GetWindowContentRegionMax(). (information thread: #7838) GetWindowContentRegionMax(). (information thread: #7838)
You should never need those functions! You can do everything in You should never need those functions! You can do everything in
less a confusing manner by only using GetCursorScreenPos() and less a confusing manner by only using GetCursorScreenPos() and
GetContentRegionAvail(). Also always consider that if you are GetContentRegionAvail(). Also always consider that if you are
using GetWindowPos() and GetCursorPos() you may also be making using GetWindowPos() and GetCursorPos() you may also be making
things unnecessarily complicated. things unnecessarily complicated.
I repeat: You can do everything with GetCursorScreenPos() I repeat: You can do everything with GetCursorScreenPos()
and GetContentRegionAvail()! and GetContentRegionAvail()!
GetWindowContentRegionMax().x - GetCursorPos().x --> GetWindowContentRegionMax().x - GetCursorPos().x -->
GetContentRegionAvail().x GetContentRegionAvail().x
GetWindowContentRegionMax().x + GetWindowPos().x --> GetWindowContentRegionMax().x + GetWindowPos().x -->
GetCursorScreenPos().x + GetContentRegionAvail().x GetCursorScreenPos().x + GetContentRegionAvail().x
// when called from left edge of window // when called from left edge of window
GetContentRegionMax() --> GetContentRegionAvail() + GetCursorScreenPos() GetContentRegionMax() --> GetContentRegionAvail() + GetCursorScreenPos()
- GetWindowPos() // right edge in local coordinates - GetWindowPos() // right edge in local coordinates
@ -34,29 +190,29 @@ Tue Nov 26 05:31:00 UTC 2024 - ming li <mli@suse.com>
Obsoleted PushButtonRepeat()/PopButtonRepeat() in favor of using Obsoleted PushButtonRepeat()/PopButtonRepeat() in favor of using
new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_ButtonRepeat. new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_ButtonRepeat.
Kept inline redirecting functions (will obsolete). Kept inline redirecting functions (will obsolete).
Obsoleted PushTabStop()/PopTabStop() in favor of using new Obsoleted PushTabStop()/PopTabStop() in favor of using new
PushItemFlag()/PopItemFlag() with ImGuiItemFlags_NoTabStop. PushItemFlag()/PopItemFlag() with ImGuiItemFlags_NoTabStop.
Kept inline redirecting functions (will obsolete). Kept inline redirecting functions (will obsolete).
Renamed ImGuiSelectableFlags_DontClosePopups to Renamed ImGuiSelectableFlags_DontClosePopups to
ImGuiSelectableFlags_NoAutoClosePopups for consistency. Kept inline ImGuiSelectableFlags_NoAutoClosePopups for consistency. Kept inline
redirecting functions (will obsolete). + Internals: redirecting functions (will obsolete). + Internals:
changed/inverted ImGuiItemFlags_SelectableDontClosePopup (default==false) to changed/inverted ImGuiItemFlags_SelectableDontClosePopup (default==false) to
ImGuiItemFlags_AutoClosePopups (default==true), same logic, ImGuiItemFlags_AutoClosePopups (default==true), same logic,
only inverted behavior. (#1379, #1468, #2200, #4936, #5216, #7302, #7573) only inverted behavior. (#1379, #1468, #2200, #4936, #5216, #7302, #7573)
* Commented out obsolete ImGuiModFlags (renamed to ImGuiKeyChord in 1.89). * Commented out obsolete ImGuiModFlags (renamed to ImGuiKeyChord in 1.89).
(#4921, #456) (#4921, #456)
* Commented out obsolete ImGuiModFlags_XXX values * Commented out obsolete ImGuiModFlags_XXX values
(renamed to ImGuiMod_XXX in 1.89). (#4921, #456) (renamed to ImGuiMod_XXX in 1.89). (#4921, #456)
ImGuiModFlags_Ctrl -> ImGuiMod_Ctrl, ImGuiModFlags_Shift -> ImGuiModFlags_Ctrl -> ImGuiMod_Ctrl, ImGuiModFlags_Shift ->
ImGuiMod_Shift etc. ImGuiMod_Shift etc.
* Backends: GLFW+Emscripten: Renamed * Backends: GLFW+Emscripten: Renamed
ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback() ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback()
to ImGui_ImplGlfw_InstallEmscriptenCallbacks(), with an to ImGui_ImplGlfw_InstallEmscriptenCallbacks(), with an
additional GLFWWindow* parameter. (#7647) [@ypujante] additional GLFWWindow* parameter. (#7647) [@ypujante]
Other Changes Other Changes
* Added TextLink(), TextLinkOpenURL() hyperlink widgets. (#7660) * Added TextLink(), TextLinkOpenURL() hyperlink widgets. (#7660)
* IO: added io.PlatformOpenInShellFn() handler to open a * IO: added io.PlatformOpenInShellFn() handler to open a
link/folder/file in OS shell. (#7660) link/folder/file in OS shell. (#7660)
Added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS to disable Added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS to disable
default Windows/Linux/Mac implementation. default Windows/Linux/Mac implementation.
@ -68,33 +224,33 @@ Tue Nov 26 05:31:00 UTC 2024 - ming li <mli@suse.com>
Added ImGuiItemFlags_NoTabStop to disable tabbing through items. Added ImGuiItemFlags_NoTabStop to disable tabbing through items.
Added ImGuiItemFlags_NoNav to disable any navigation and focus Added ImGuiItemFlags_NoNav to disable any navigation and focus
of items. (#787) of items. (#787)
Added ImGuiItemFlags_NoNavDefaultFocus to disable item being Added ImGuiItemFlags_NoNavDefaultFocus to disable item being
default focus. (#787) default focus. (#787)
Added ImGuiItemFlags_ButtonRepeat to enable repeat on any Added ImGuiItemFlags_ButtonRepeat to enable repeat on any
button-like behavior. button-like behavior.
Added ImGuiItemFlags_AutoClosePopups to disable menu Added ImGuiItemFlags_AutoClosePopups to disable menu
items/selection auto closing parent popups. items/selection auto closing parent popups.
Disabling this was previously possible for Selectable() via a direct Disabling this was previously possible for Selectable() via a direct
flag but not for MenuItem(). (#1379, #1468, #2200, #4936, #5216, #7302, #7573) flag but not for MenuItem(). (#1379, #1468, #2200, #4936, #5216, #7302, #7573)
This was mostly all previously in imgui_internal.h. This was mostly all previously in imgui_internal.h.
* Multi-Select: added multi-select API and demos. (#1861, #6518) * Multi-Select: added multi-select API and demos. (#1861, #6518)
This system implements standard multi-selection idioms (CTRL+mouse This system implements standard multi-selection idioms (CTRL+mouse
click, CTRL+keyboard moves, SHIFT+mouse click, SHIFT+keyboard moves, click, CTRL+keyboard moves, SHIFT+mouse click, SHIFT+keyboard moves,
etc.) with support for clipper (not submitting non-visible items), etc.) with support for clipper (not submitting non-visible items),
box-selection with scrolling, and many other details. box-selection with scrolling, and many other details.
In the spirit of Dear ImGui design, your code owns both items and actual In the spirit of Dear ImGui design, your code owns both items and actual
selection data. This is designed to allow all kinds of selection storage selection data. This is designed to allow all kinds of selection storage
you may use in your application (e.g. set/map/hash, intrusive selection, you may use in your application (e.g. set/map/hash, intrusive selection,
interval trees, up to you). interval trees, up to you).
The supported widgets are Selectable(), Checkbox(). TreeNode() is also The supported widgets are Selectable(), Checkbox(). TreeNode() is also
technically supported but... using this correctly is more complicated. technically supported but... using this correctly is more complicated.
You need some sort of linear/random access to your tree, which is suited You need some sort of linear/random access to your tree, which is suited
to advanced trees setups already implementing filters and clipper. to advanced trees setups already implementing filters and clipper.
We will work toward simplifying our existing demo for trees. We will work toward simplifying our existing demo for trees.
A helper ImGuiSelectionBasicStorage is provided to facilitate getting A helper ImGuiSelectionBasicStorage is provided to facilitate getting
started in a typical app (likely to suit a majority of users). started in a typical app (likely to suit a majority of users).
Documentation: Documentation:
Wiki page https://github.com/ocornut/imgui/wiki/Multi-Select for Wiki page https://github.com/ocornut/imgui/wiki/Multi-Select for
API overview. API overview.
Demo code + headers are well commented. Demo code + headers are well commented.
Added BeginMultiSelect(), EndMultiSelect(), SetNextItemSelectionUserData(). Added BeginMultiSelect(), EndMultiSelect(), SetNextItemSelectionUserData().
@ -106,10 +262,10 @@ Tue Nov 26 05:31:00 UTC 2024 - ming li <mli@suse.com>
(clear, select all, set range, etc.) (clear, select all, set range, etc.)
Other fields are helpful when using a clipper, or wanting to handle Other fields are helpful when using a clipper, or wanting to handle
deletion nicely. deletion nicely.
Added ImGuiSelectionBasicStorage helper to store and maintain a Added ImGuiSelectionBasicStorage helper to store and maintain a
selection (optional): selection (optional):
This is similar to if you used e.g. a std::set to store a selection, This is similar to if you used e.g. a std::set to store a selection,
with all the right glue to honor ImGuiMultiSelectIO requests. with all the right glue to honor ImGuiMultiSelectIO requests.
Most applications can use that. Most applications can use that.
Added ImGuiSelectionExternalStorage helper to maintain an externally Added ImGuiSelectionExternalStorage helper to maintain an externally
stored selection (optional): stored selection (optional):
@ -124,7 +280,7 @@ Fri Jul 26 06:22:12 UTC 2024 - Frantisek Simorda <frantisek.simorda@suse.com>
- - Update to 1.90.9 - - Update to 1.90.9
Removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to ImGuiStoragePair (simpler for many languages). No significant nested type left. Removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to ImGuiStoragePair (simpler for many languages). No significant nested type left.
BeginChild: added ImGuiChildFlags_NavFlattened as a replacement for the window flag ImGuiWindowFlags_NavFlattened: the feature only ever made sense for BeginChild() calls anyhow. (#7687) BeginChild: added ImGuiChildFlags_NavFlattened as a replacement for the window flag ImGuiWindowFlags_NavFlattened: the feature only ever made sense for BeginChild() calls anyhow. (#7687)
old: BeginChild("Name", size, 0, ImGuiWindowFlags_NavFlattened); old: BeginChild("Name", size, 0, ImGuiWindowFlags_NavFlattened);
new: BeginChild("Name", size, ImGuiChildFlags_NavFlattened, 0) new: BeginChild("Name", size, ImGuiChildFlags_NavFlattened, 0)
Kept inline redirection flag (will obsolete). Kept inline redirection flag (will obsolete).
@ -136,7 +292,7 @@ Fri Jul 26 06:22:12 UTC 2024 - Frantisek Simorda <frantisek.simorda@suse.com>
IO: io.ClearInputKeys() (first exposed in 1.89.8) doesn't clear mouse data. Newly added io.ClearInputMouse() does. (#4921) IO: io.ClearInputKeys() (first exposed in 1.89.8) doesn't clear mouse data. Newly added io.ClearInputMouse() does. (#4921)
Drag and Drop: renamed ImGuiDragDropFlags_SourceAutoExpirePayload to ImGuiDragDropFlags_PayloadAutoExpire. Kept inline redirecting enum (will obsolete). (#1725, #143) Drag and Drop: renamed ImGuiDragDropFlags_SourceAutoExpirePayload to ImGuiDragDropFlags_PayloadAutoExpire. Kept inline redirecting enum (will obsolete). (#1725, #143)
IO: do not disable io.ConfigWindowsResizeFromEdges (which allow resizing from borders and lower-left corner) when ImGuiBackendFlags_HasMouseCursors is not set by backend. The initial reasoning is that resizing from borders feels better when correct mouse cursor shape change as honored by backends. Keeping this enabling will hopefully increase pressure on third-party backends to set ImGuiBackendFlags_HasMouseCursors and honor changes of ImGui::GetMouseCursor() value. (#1495) IO: do not disable io.ConfigWindowsResizeFromEdges (which allow resizing from borders and lower-left corner) when ImGuiBackendFlags_HasMouseCursors is not set by backend. The initial reasoning is that resizing from borders feels better when correct mouse cursor shape change as honored by backends. Keeping this enabling will hopefully increase pressure on third-party backends to set ImGuiBackendFlags_HasMouseCursors and honor changes of ImGui::GetMouseCursor() value. (#1495)
IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button which was pressed over void/underlying app, which is consistent/needed to allow the mouse up event of a drag over void/underlying app to catch release. (#1392) IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button which was pressed over void/underlying app, which is consistent/needed to allow the mouse up event of a drag over void/underlying app to catch release. (#1392)
IO: Added io.ClearInputMouse() to clear mouse state. (#4921) IO: Added io.ClearInputMouse() to clear mouse state. (#4921)
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) 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 line over selected tabs to increase visibility. This is used by docking. Added corresponding ImGuiCol_TabSelectedOverline and ImGuiCol_TabDimmedSelectedOverline colors. TabBar, Style: added ImGuiTabBarFlags_DrawSelectedOverline option to draw an horizontal line over selected tabs to increase visibility. This is used by docking. Added corresponding ImGuiCol_TabSelectedOverline and ImGuiCol_TabDimmedSelectedOverline colors.
@ -151,25 +307,25 @@ Fri Jul 26 06:22:12 UTC 2024 - Frantisek Simorda <frantisek.simorda@suse.com>
Debug Tools: Metrics/Debugger: Browsing a Storage perform hover lookup on identifier. Debug Tools: Metrics/Debugger: Browsing a Storage perform hover lookup on identifier.
Viewports: Backported void* ImGuiViewport::PlatformHandle from docking branch for use by backends. Viewports: Backported void* ImGuiViewport::PlatformHandle from docking branch for use by backends.
imgui_freetype: Fixed divide by zero while handling FT_PIXEL_MODE_BGRA glyphs. (#7267, #3369) imgui_freetype: Fixed divide by zero while handling FT_PIXEL_MODE_BGRA glyphs. (#7267, #3369)
Backends: OpenGL2, OpenGL3: ImGui_ImplOpenGL3_NewFrame() recreates font texture if it has been destroyed by ImGui_ImplOpenGL3_DestroyFontsTexture(). (#7748) Backends: OpenGL2, OpenGL3: ImGui_ImplOpenGL3_NewFrame() recreates font texture if it has been destroyed by ImGui_ImplOpenGL3_DestroyFontsTexture(). (#7748)
Backends: SDL3: Update for API removal of keysym field in SDL_KeyboardEvent. (#7728) Backends: SDL3: Update for API removal of keysym field in SDL_KeyboardEvent. (#7728)
Backends: SDL3: Update for SDL_StartTextInput()/SDL_StopTextInput() API changes. (#7735) Backends: SDL3: Update for SDL_StartTextInput()/SDL_StopTextInput() API changes. (#7735)
Backends: SDL3: Update for SDL_SetTextInputRect() API rename. (#7760, #7754) Backends: SDL3: Update for SDL_SetTextInputRect() API rename. (#7760, #7754)
Backends: SDLRenderer3: Update for SDL_RenderGeometryRaw() API changes. (SDL#9009). Backends: SDLRenderer3: Update for SDL_RenderGeometryRaw() API changes. (SDL#9009).
Backends: Vulkan: Remove Volk/ from volk.h #include directives. (#7722, #6582, #4854) Backends: Vulkan: Remove Volk/ from volk.h #include directives. (#7722, #6582, #4854)
Examples: SDL3: Remove use of SDL_HINT_IME_NATIVE_UI since new SDL_HINT_IME_IMPLEMENTED_UI values has a more suitable default for our case case. Examples: SDL3: Remove use of SDL_HINT_IME_NATIVE_UI since new SDL_HINT_IME_IMPLEMENTED_UI values has a more suitable default for our case case.
Examples: GLFW+Vulkan, SDL+Vulkan: handle swap chain resize even without Vulkan returning VK_SUBOPTIMAL_KHR, which doesn't seem to happen on Wayland. (#7671) Examples: GLFW+Vulkan, SDL+Vulkan: handle swap chain resize even without Vulkan returning VK_SUBOPTIMAL_KHR, which doesn't seem to happen on Wayland. (#7671)
- Changes of 1.90.8 - Changes of 1.90.8
Reordered various ImGuiInputTextFlags values. This should NOT be breaking unless you are using generated headers that have values not matching the main library. Reordered various ImGuiInputTextFlags values. This should NOT be breaking unless you are using generated headers that have values not matching the main library.
Removed ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft from imgui.h, was mostly unused and misleading. Removed ImGuiButtonFlags_MouseButtonDefault_ = ImGuiButtonFlags_MouseButtonLeft from imgui.h, was mostly unused and misleading.
Inputs: Fixed IsMouseClicked(..., repeat=true); broken in 1.90.7 on 2024/05/22. (due to an internal api parameter swap, repeat wouldn't be honored and ownership would be accidentally checked even though this api is meant to not Inputs: Fixed IsMouseClicked(..., repeat=true); broken in 1.90.7 on 2024/05/22. (due to an internal api parameter swap, repeat wouldn't be honored and ownership would be accidentally checked even though this api is meant to not
check ownership). (#7657) check ownership). (#7657)
Windows: fixed altering FramePadding mid-frame not correctly affecting logic responsible for honoring io.ConfigWindowsMoveFromTitleBarOnly. (#7576, #899) Windows: fixed altering FramePadding mid-frame not correctly affecting logic responsible for honoring io.ConfigWindowsMoveFromTitleBarOnly. (#7576, #899)
Scrollbar: made scrolling logic more standard: clicking above or below the grab scrolls by one page, holding mouse button repeats scrolling. (#7328, #150) 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) Scrollbar: fixed miscalculation of vertical scrollbar visibility when required solely by the presence of an horizontal scrollbar. (#1574)
InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_ParseEmptyRefVal to parse an empty field as zero-value. (#7305) InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_ParseEmptyRefVal to parse an empty field as zero-value. (#7305)
InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_DisplayEmptyRefVal to display a zero-value as empty. (#7305) InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_DisplayEmptyRefVal to display a zero-value as empty. (#7305)
Popups: fixed an issue preventing to close a popup opened over a modal by clicking over void (it required clicking over the visible part of the modal). (#7654) Popups: fixed an issue preventing to close a popup opened over a modal by clicking over void (it required clicking over the visible part of the modal). (#7654)
Tables: fixed an issue where ideal size reported to parent container wouldn't correctly take account of inner scrollbar, affecting potential auto-resize of parent container. (#7651) Tables: fixed an issue where ideal size reported to parent container wouldn't correctly take account of inner scrollbar, affecting potential auto-resize of parent container. (#7651)
Tables: fixed a bug where after disabling the ScrollY flag for a table, previous scrollbar width would be accounted for. (#5920) Tables: fixed a bug where after disabling the ScrollY flag for a table, previous scrollbar width would be accounted for. (#5920)
@ -227,54 +383,54 @@ Fri Jul 26 06:22:12 UTC 2024 - Frantisek Simorda <frantisek.simorda@suse.com>
Inputs: (OSX) Fixes variety of code which inconsistently required using Ctrl instead of Cmd. Inputs: (OSX) Fixes variety of code which inconsistently required using Ctrl instead of Cmd.
e.g. Drags/Sliders now use Cmd+Click to input a value. (#4084) e.g. Drags/Sliders now use Cmd+Click to input a value. (#4084)
Some shortcuts still uses Ctrl on Mac: e.g. Ctrl+Tab to switch windows. (#4828) Some shortcuts still uses Ctrl on Mac: e.g. Ctrl+Tab to switch windows. (#4828)
Inputs: (OSX) Ctrl+Left Click alias as a Right click. (#2343) Inputs: (OSX) Ctrl+Left Click alias as a Right click. (#2343)
Inputs: Fixed ImGui::GetKeyName(ImGuiKey_None) from returning "N/A" or "None" depending on value of IMGUI_DISABLE_OBSOLETE_KEYIO. It always returns "None". Inputs: Fixed ImGui::GetKeyName(ImGuiKey_None) from returning "N/A" or "None" depending on value of IMGUI_DISABLE_OBSOLETE_KEYIO. It always returns "None".
Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed. Broken during a refactor refactor for 1.89. Holding Shift/R1 to speed up wasn't broken. Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed. Broken during a refactor refactor for 1.89. Holding Shift/R1 to speed up wasn't broken.
Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041) Tables: fixed cell background of fully clipped row overlapping with header. (#7575, #7041)
Demo: Added "Inputs & Focus -> Shortcuts" section. (#456, #2637) Demo: Added "Inputs & Focus -> Shortcuts" section. (#456, #2637)
Demo: Documents: Added shortcuts and renaming tabs/documents. (#7233) Demo: Documents: Added shortcuts and renaming tabs/documents. (#7233)
Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking without burning resources by running unthrottled code. (#2496, #3907, #6308, #7615) Examples: Win32+DX9,DX10,DX11,DX12: rework main loop to handle minimization and screen locking without burning resources by running unthrottled code. (#2496, #3907, #6308, #7615)
Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of Dear ImGui. If you get an assert it most likely mean you have a build issue, read comments near the assert. (#7568) Backends: all backends + demo now call IMGUI_CHECKVERSION() to verify ABI compatibility between caller code and compiled version of Dear ImGui. If you get an assert it most likely mean you have a build issue, read comments near the assert. (#7568)
Backends: Win32: undo an assert introduced in 1.90.6 which didn't allow WndProc handler to be called before backend initialization. Because of how ::CreateWindow() calls in WndProc it is facilitating to not assert. (#6275) Backends: Win32: undo an assert introduced in 1.90.6 which didn't allow WndProc handler to be called before backend initialization. Because of how ::CreateWindow() calls in WndProc it is facilitating to not assert. (#6275)
Backends, Examples: SDL3: updates for latest SDL3 API changes. (#7580) Backends, Examples: SDL3: updates for latest SDL3 API changes. (#7580)
- Changes of 1.90.6 - Changes of 1.90.6
TreeNode: Fixed a layout inconsistency when using a empty/hidden label followed by a SameLine() call. (#7505, #282) TreeNode: Fixed a layout inconsistency when using a empty/hidden label followed by a SameLine() call. (#7505, #282)
With the fix, IF you were successfully using TreeNode("")+SameLine(); you will now have extra spacing between your TreeNode and the following item. You'll need to change the SameLine() call to SameLine(0,0) to remove this extraneous spacing. This seemed like the more sensible fix that's not making things less consistent. (Note: when using this idiom you are likely to also use ImGuiTreeNodeFlags_SpanAvailWidth). With the fix, IF you were successfully using TreeNode("")+SameLine(); you will now have extra spacing between your TreeNode and the following item. You'll need to change the SameLine() call to SameLine(0,0) to remove this extraneous spacing. This seemed like the more sensible fix that's not making things less consistent. (Note: when using this idiom you are likely to also use ImGuiTreeNodeFlags_SpanAvailWidth).
Windows: Changed default ClipRect to extend to windows' left and right borders, instead of adding arbitrary WindowPadding.x * 0.5f space on left and right. That ClipRect half-padding was arbitrary/confusing and inconsistent with Y axis. It also made it harder to draw items covering whole window without pushing an extended ClipRect. Some items near windows left and right edge that used to be clipped may be partly more visible. (#3312, #7540, #3756, #6170, #6365) Windows: Changed default ClipRect to extend to windows' left and right borders, instead of adding arbitrary WindowPadding.x * 0.5f space on left and right. That ClipRect half-padding was arbitrary/confusing and inconsistent with Y axis. It also made it harder to draw items covering whole window without pushing an extended ClipRect. Some items near windows left and right edge that used to be clipped may be partly more visible. (#3312, #7540, #3756, #6170, #6365)
Windows: Fixed subsequent Begin() append calls from setting last item information for title bar, making it impossible to use IsItemHovered() on a Begin()-to-append, and causing issue bypassing hover detection on collapsed windows. (#7506, #823) Windows: Fixed subsequent Begin() append calls from setting last item information for title bar, making it impossible to use IsItemHovered() on a Begin()-to-append, and causing issue bypassing hover detection on collapsed windows. (#7506, #823)
Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. It is possible that some prior manual use of ImFontConfig::GlyphOffset may become duplicate with this fix. (#7399, #7404) Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. It is possible that some prior manual use of ImFontConfig::GlyphOffset may become duplicate with this fix. (#7399, #7404)
TreeNode: Added ImGuiTreeNodeFlags_SpanTextWidth to make hitbox and highlight only cover the label. (#6937) TreeNode: Added ImGuiTreeNodeFlags_SpanTextWidth to make hitbox and highlight only cover the label. (#6937)
Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917) Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
Tables: Angled headers: added style.TableAngledHeadersTextAlign and corresponding ImGuiStyleVar_TableAngledHeadersTextAlign variable. Default to horizontal center. (#6917) Tables: Angled headers: added style.TableAngledHeadersTextAlign and corresponding ImGuiStyleVar_TableAngledHeadersTextAlign variable. Default to horizontal center. (#6917)
ProgressBar: Added support for indeterminate progress bar by passing an animated negative fraction, e.g. ProgressBar(-1.0f * GetTime()). (#5316, #5370, #1901) ProgressBar: Added support for indeterminate progress bar by passing an animated negative fraction, e.g. ProgressBar(-1.0f * GetTime()). (#5316, #5370, #1901)
Text, DrawList: Improved handling of long single-line wrapped text. Faster and mitigate issues with reading vertex indexing limits with 16-bit indices. (#7496, #5720) Text, DrawList: Improved handling of long single-line wrapped text. Faster and mitigate issues with reading vertex indexing limits with 16-bit indices. (#7496, #5720)
Backends: OpenGL3: Detect ES3 contexts on desktop based on version string, to e.g. avoid calling glPolygonMode() on them. (#7447) Backends: OpenGL3: Detect ES3 contexts on desktop based on version string, to e.g. avoid calling glPolygonMode() on them. (#7447)
Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562) Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562)
Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (you could always use IMGUI_IMPL_VULKAN_NO_PROTOTYPES + ImGui_ImplVulkan_LoadFunctions() as well). (#6582, #4854) Backends: Vulkan: Added convenience support for Volk via IMGUI_IMPL_VULKAN_USE_VOLK define. (you could always use IMGUI_IMPL_VULKAN_NO_PROTOTYPES + ImGui_ImplVulkan_LoadFunctions() as well). (#6582, #4854)
Backends: SDL3: Fixed text inputs. Re-enable calling SDL_StartTextInput()/SDL_StopTextInput() as SDL3 no longer enables it by default. (#7452, #6306, #6071, #1953) Backends: SDL3: Fixed text inputs. Re-enable calling SDL_StartTextInput()/SDL_StopTextInput() as SDL3 no longer enables it by default. (#7452, #6306, #6071, #1953)
Examples: GLFW+Vulkan, SDL+Vulkan: Added optional support for Volk. (#6582, #4854) Examples: GLFW+Vulkan, SDL+Vulkan: Added optional support for Volk. (#6582, #4854)
Examples: GLFW+WebGPU: Added support for WebGPU-native/Dawn (#7435, #7132) Examples: GLFW+WebGPU: Added support for WebGPU-native/Dawn (#7435, #7132)
Examples: GLFW+WebGPU: Renamed example_emscripten_wgpu/ to example_glfw_wgpu/. (#7435, #7132) Examples: GLFW+WebGPU: Renamed example_emscripten_wgpu/ to example_glfw_wgpu/. (#7435, #7132)
- Changes of 1.90.5 - Changes of 1.90.5
More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set. More formally obsoleted GetKeyIndex() when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is set.
It has been unnecessary and a no-op since 1.87 (it returns the same value as passed when used with a 1.87+ backend using io.AddKeyEvent() function). (#4921) It has been unnecessary and a no-op since 1.87 (it returns the same value as passed when used with a 1.87+ backend using io.AddKeyEvent() function). (#4921)
Reminder: IsKeyPressed(GetKeyIndex(ImGuiKey_XXX)) --> IsKeyPressed(ImGuiKey_XXX) Reminder: IsKeyPressed(GetKeyIndex(ImGuiKey_XXX)) --> IsKeyPressed(ImGuiKey_XXX)
ImDrawList: Merged the radius_x/radius_y parameters in AddEllipse(), AddEllipseFilled() and PathEllipticalArcTo() into a single ImVec2 parameter. Exceptionally, because those functions were added recently in 1.90, we are not adding inline redirection functions. The transition is easy and should affect few users. (#2743, #7417) ImDrawList: Merged the radius_x/radius_y parameters in AddEllipse(), AddEllipseFilled() and PathEllipticalArcTo() into a single ImVec2 parameter. Exceptionally, because those functions were added recently in 1.90, we are not adding inline redirection functions. The transition is easy and should affect few users. (#2743, #7417)
Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252) Windows: Scrollbar visibility decision uses current size when both size and contents size are submitted by API. (#7252)
Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369) Windows: Double-click to collapse may be disabled via key-ownership mechanism. (#7369)
Windows: BeginChild(): Extend outer resize borders to the edges when there are no corner grips. Essentially affects resizable child windows. (#7440, #1710) Windows: BeginChild(): Extend outer resize borders to the edges when there are no corner grips. Essentially affects resizable child windows. (#7440, #1710)
Windows: BeginChild(): Resizing logic for child windows evaluates whether per-axis clamping should be applied based on parent scrollbars, not child scrollbars. (#7440, #1710) Adjust those resizing limits to match window padding rather than inner clipping rectangle. Windows: BeginChild(): Resizing logic for child windows evaluates whether per-axis clamping should be applied based on parent scrollbars, not child scrollbars. (#7440, #1710) Adjust those resizing limits to match window padding rather than inner clipping rectangle.
Tables: Fixed auto-width columns when using synced-instances of same table, width of one instance would bleed into next one instead of sharing their widths. (#7218) Tables: Fixed auto-width columns when using synced-instances of same table, width of one instance would bleed into next one instead of sharing their widths. (#7218)
Tables: Angled headers: fixed border hit box extending beyond when used within non-scrollable tables. (#7416) Tables: Angled headers: fixed border hit box extending beyond when used within non-scrollable tables. (#7416)
Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow() stops being called. (#7416) Tables: Angled headers: fixed borders not moving back up after TableAngleHeadersRow() stops being called. (#7416)
Tables: Angled headers: rounding header size to nearest integers, fixes some issues when using clipper. Tables: Angled headers: rounding header size to nearest integers, fixes some issues when using clipper.
Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. While it is technically a popup issue it would generally manifest when fast moving the mouse bottom to top in a sub-menu. (#7325, #7287, #7063) Menus, Popups: Fixed an issue where sibling menu popups re-opening in successive frames would erroneously close the window. While it is technically a popup issue it would generally manifest when fast moving the mouse bottom to top in a sub-menu. (#7325, #7287, #7063)
ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451) ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451)
ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox(). ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
Drags, Sliders, Inputs: Fixed io.PlatformLocaleDecimalPoint decimal point localization feature not working regression from 1.90.1. (#7389, #6719, #2278) Drags, Sliders, Inputs: Fixed io.PlatformLocaleDecimalPoint decimal point localization feature not working regression from 1.90.1. (#7389, #6719, #2278)
Style: Added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle for consistency. (#7411) Style: Added ImGuiStyleVar_TabBorderSize, ImGuiStyleVar_TableAngledHeadersAngle for consistency. (#7411)
DrawList: Added AddConcavePolyFilled(), PathFillConcave() concave filling. (#760) Note that only simple polygons (no self-intersections, no holes) are supported. DrawList: Added AddConcavePolyFilled(), PathFillConcave() concave filling. (#760) Note that only simple polygons (no self-intersections, no holes) are supported.
DrawList: Allow AddText() to accept null ranges. (#3615, 7391) DrawList: Allow AddText() to accept null ranges. (#3615, 7391)
Docs: added more wiki links to headers of imgui.h/imgui.cpp to facilitate discovery Docs: added more wiki links to headers of imgui.h/imgui.cpp to facilitate discovery

View File

@ -17,7 +17,7 @@
Name: imgui Name: imgui
Version: 1.91.0 Version: 1.91.8
Release: 0 Release: 0
Summary: Immediate Mode Graphical User interface for C++ with minimal dependencies Summary: Immediate Mode Graphical User interface for C++ with minimal dependencies
License: MIT License: MIT

BIN
v1.91.0.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
v1.91.8.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.