WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 8199457

Browse files
committed
Version 1.91.0
1 parent ec9a4ef commit 8199457

File tree

8 files changed

+78
-70
lines changed

8 files changed

+78
-70
lines changed

docs/CHANGELOG.txt

Lines changed: 59 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,19 @@ HOW TO UPDATE?
3636
- Please report any issue!
3737

3838
-----------------------------------------------------------------------
39-
VERSION 1.91.0 WIP (In Progress)
39+
VERSION 1.91.0 (Released 2024-07-30)
4040
-----------------------------------------------------------------------
4141

42+
Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.91.0
43+
4244
Breaking changes:
4345

4446
- IO, IME: renamed platform IME hook and added explicit context for consistency and future-proofness.
4547
- old: io.SetPlatformImeDataFn(ImGuiViewport* viewport, ImGuiPlatformImeData* data);
4648
- new: io.PlatformSetImeDataFn(ImGuiContext* ctx, ImGuiViewport* viewport, ImGuiPlatformImeData* data);
4749
It is expected that for a vast majority of users this is automatically set by core
4850
library and/or platform backend so it won't have any effect.
49-
- Obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and GetWindowContentRegionMax().
51+
- Obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and GetWindowContentRegionMax(). (#7838)
5052
You should never need those functions! You can do everything in less a confusing manner by only
5153
using GetCursorScreenPos() and GetContentRegionAvail(). Also always consider that if you are using
5254
GetWindowPos() and GetCursorPos() you may also be making things unnecessarily complicated.
@@ -69,32 +71,24 @@ Breaking changes:
6971
- Commented out obsolete ImGuiModFlags_XXX values (renamed to ImGuiMod_XXX in 1.89). (#4921, #456)
7072
- ImGuiModFlags_Ctrl -> ImGuiMod_Ctrl, ImGuiModFlags_Shift -> ImGuiMod_Shift etc.
7173
- Backends: GLFW+Emscripten: Renamed ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback() to
72-
ImGui_ImplGlfw_InstallEmscriptenCallbacks(), with additional GLFWWindow* parameter. (#7647) [@ypujante]
74+
ImGui_ImplGlfw_InstallEmscriptenCallbacks(), with an additional GLFWWindow* parameter. (#7647) [@ypujante]
7375

7476
Other changes:
7577

7678
- Added TextLink(), TextLinkOpenURL() hyperlink widgets. (#7660)
7779
- IO: added io.PlatformOpenInShellFn handler to open a link/folder/file in OS shell. (#7660)
78-
Default to use ShellExecute() under Windows, and system("") under Mac/Linux/etc.
79-
Added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS to disable default implementation.
80-
- IO: added io.ConfigNavSwapGamepadButtons to swap Activate/Cancel (A<>B) buttons, to match tye
80+
Added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS to disable default Windows/Linux/Mac implementations.
81+
- IO: added io.ConfigNavSwapGamepadButtons to swap Activate/Cancel (A<>B) buttons, to match the
8182
typical "Nintendo/Japanese consoles" button layout when using Gamepad navigation. (#787, #5723)
8283
- Added PushItemFlag()/PopItemFlags(), ImGuiItemFlags to modify shared item flags:
83-
- Added ImGuiItemFlags_NoTabStop to disable tabbing through items.
84-
- Added ImGuiItemFlags_NoNav to disable any navigation and focus of items. (#787)
85-
- Added ImGuiItemFlags_NoNavDefaultFocus to disable item being default focus. (#787)
86-
- Added ImGuiItemFlags_ButtonRepeat to enable repeat on any button-like behavior.
87-
- Added ImGuiItemFlags_AutoClosePopups to disable menu items/selection auto closing parent popups.
88-
Disabling this was previously possible for Selectable() via a direct flag but not for MenuItem().
89-
(#1379, #1468, #2200, #4936, #5216, #7302, #7573)
90-
- This was mostly all previously in imgui_internal.h.
91-
- Inputs: added SetItemKeyOwner(ImGuiKey key) in public API. This is a simplified version of a more
92-
complete set of function available in imgui_internal.h. One common use-case for this is to allow
93-
your items to disable standard inputs behaviors such as Tab or Alt handling, Mouse Wheel scrolling,
94-
etc. (#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
95-
// Hovering or activating the button will disable mouse wheel default behavior to scroll
96-
InvisibleButton(...);
97-
SetItemKeyOwner(ImGuiKey_MouseWheelY);
84+
- Added ImGuiItemFlags_NoTabStop to disable tabbing through items.
85+
- Added ImGuiItemFlags_NoNav to disable any navigation and focus of items. (#787)
86+
- Added ImGuiItemFlags_NoNavDefaultFocus to disable item being default focus. (#787)
87+
- Added ImGuiItemFlags_ButtonRepeat to enable repeat on any button-like behavior.
88+
- Added ImGuiItemFlags_AutoClosePopups to disable menu items/selection auto closing parent popups.
89+
Disabling this was previously possible for Selectable() via a direct flag but not for MenuItem().
90+
(#1379, #1468, #2200, #4936, #5216, #7302, #7573)
91+
- This was mostly all previously in imgui_internal.h.
9892
- Multi-Select: added multi-select API and demos. (#1861, #6518)
9993
- This system implements standard multi-selection idioms (CTRL+mouse click, CTRL+keyboard moves,
10094
SHIFT+mouse click, SHIFT+keyboard moves, etc.) with support for clipper (not submitting non-visible
@@ -103,15 +97,16 @@ Other changes:
10397
This is designed to allow all kinds of selection storage you may use in your application
10498
(e.g. set/map/hash, intrusive selection, interval trees, up to you).
10599
- The supported widgets are Selectable(), Checkbox(). TreeNode() is also technically supported but...
106-
using this correctly is more complicated (you need some sort of linear/random access to your tree,
100+
using this correctly is more complicated. You need some sort of linear/random access to your tree,
107101
which is suited to advanced trees setups already implementing filters and clipper.
108-
We will work toward simplifying and demoing this later.
109-
- A helper ImGuiSelectionBasicStorage is provided to facilitate getting started in a typical app.
102+
We will work toward simplifying our existing demo for trees.
103+
- A helper ImGuiSelectionBasicStorage is provided to facilitate getting started in a typical app
104+
(likely to suit a majority of users).
110105
- Documentation:
111106
- Wiki page https://github.com/ocornut/imgui/wiki/Multi-Select for API overview.
112107
- Demo code + headers are well commented.
113108
- Added BeginMultiSelect(), EndMultiSelect(), SetNextItemSelectionUserData().
114-
- Added IsItemToggledSelection() for use if you need latest selection update during currnet iteration.
109+
- Added IsItemToggledSelection() for use if you need latest selection update during current iteration.
115110
- Added ImGuiMultiSelectIO and ImGuiSelectionRequest structures:
116111
- BeginMultiSelect() and EndMultiSelect() return a ImGuiMultiSelectIO structure, which
117112
is mostly an array of ImGuiSelectionRequest actions (clear, select all, set range, etc.)
@@ -142,48 +137,61 @@ Other changes:
142137
- Multi-Select (with clipper)
143138
- Multi-Select (with deletion)
144139
- Multi-Select (dual list box) (#6648)
140+
- Multi-Select (in a table)
145141
- Multi-Select (checkboxes)
146142
- Multi-Select (multiple scopes)
143+
- Multi-Select (tiled assert browser)
144+
- Multi-Select (trees) (#1861)
147145
- Multi-Select (advanced)
146+
- Inputs: added SetItemKeyOwner(ImGuiKey key) in public API.
147+
This is a simplified version of a more complete set of function available in imgui_internal.h.
148+
One common use-case for this is to allow your widgets to disable standard inputs behaviors such
149+
as Tab or Alt handling, Mouse Wheel scrolling, etc.
150+
(#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
151+
// Hovering or activating the button will disable mouse wheel default behavior to scroll
152+
InvisibleButton(...);
153+
SetItemKeyOwner(ImGuiKey_MouseWheelY);
148154
- Nav: fixed clicking window decorations (e.g. resize borders) from losing focused item when
149155
within a child window using ImGuiChildFlags_NavFlattened.
150-
- InputText: added '\' and '/' as word seperator. (#7824, #7704) [@reduf]
156+
- InputText: added '\' and '/' as word separator. (#7824, #7704) [@reduf]
151157
- TreeNode: added SetNextItemStorageID() to specify/override the identifier used for persisting
152158
open/close storage. Useful if needing to often read/write from storage without manipulating
153159
the ID stack. (#7553, #6990, #3823, #1131)
154160
- Selectable: added ImGuiSelectableFlags_Highlight flag to highlight items independently from
155161
the hovered state. (#7820) [@rerilier]
156162
- Clipper: added SeekCursorForItem() function. When using ImGuiListClipper::Begin(INT_MAX) you can
157163
can use the clipper without knowing the amount of items beforehand. (#1311)
158-
In this situation, call ImGuiListClipper::SeekCursorForItem(items_count) as the end of your iteration
164+
In this situation, call ImGuiListClipper::SeekCursorForItem(items_count) at the end of your iteration
159165
loop to position the layout cursor correctly. This is done automatically if provided a count to Begin().
160166
- Groups, Tables: fixed EndGroup() failing to correctly capture current table occupied size. (#7543)
161-
- TabBar, Style: added style.TabBarOverlineSize / ImGuiStyleVar_TabBarOverlineSize to manipulate
162-
thickness of the horizontal line over selectable tabs. [@DctrNoob]
163-
- Misc: added GetID(int) variant for consistency. (#7111)
167+
- Style, TabBar: added style.TabBarOverlineSize / ImGuiStyleVar_TabBarOverlineSize to manipulate
168+
thickness of the horizontal line over selected tabs. [@DctrNoob]
164169
- Style: close button and collapse/window-menu button hover highlight made rectangular instead of round.
165-
- Debug Tools: Added IMGUI_DEBUG_LOG(), ImGui::DebugLog() in public API. (#5855)
166-
Debug log entries add a imgui frame counter prefix + are redirected to ShowDebugLogWindow() and
167-
other configurable locations. Always call IMGUI_DEBUG_LOG() for maximum stripping in caller code.
168-
- Debug Tools: Debug Log: Added "Configure Outputs.." button. (#5855)
169-
- Debug Tools: Debug Log: Fixed incorrect checkbox layout when partially clipped.
170-
- Demo: Reworked "Property Editor" demo in a manner that more ressemble the tree data and
170+
- Misc: added GetID(int) variant for consistency. (#7111)
171+
- Debug Tools:
172+
- Debug Log: Added IMGUI_DEBUG_LOG(), ImGui::DebugLog() in public API. (#5855)
173+
Printed entries include imgui frame counter prefix + are redirected to ShowDebugLogWindow() and
174+
other configurable locations. Always call IMGUI_DEBUG_LOG() for maximum stripping in caller code.
175+
- Debug Log: Added "Configure Outputs.." button. (#5855)
176+
- Debug Log: Fixed incorrect checkbox layout when partially clipped.
177+
- Demo: Reworked "Property Editor" demo in a manner that more resemble the tree data and
171178
struct description data that a real application would want to use.
172-
- Backends: Win32: Fixed ImGuiMod_Super being mapped to VK_APPS instead of VK_LWIN||VK_RWIN.
173-
(#7768, #4858, #2622) [@Aemony]
174-
- Backends: SDL3: Update for API changes: SDL_GetGamepads() memory ownership change. (#7807)
175-
- Backends: SDL3: Update for API changes: SDL_GetClipboardText() memory ownership change. (#7801)
176-
- Backends: SDL3: Update for API changes: SDLK_x renames and SDLK_KP_x removals (#7761, #7762)
177-
- Backends: SDL3: Update for API changes: SDL_GetProperty() change to SDL_GetPointerProperty(). (#7794) [@wermipls]
178-
- Backends: SDL2,SDL3,OSX: Update for io.SetPlatformImeDataFn() -> io.PlatformSetImeDataFn() rename.
179-
- Backends: GLFW,SDL2: Added io.PlatformOpenInShellFn handler for web/Emscripten versions. (#7660)
180-
[@ypujante, @ocornut]
181-
- Backends; GLFW+Emscripten: Added support for GLFW3 contrib port which fixes many of the things
182-
not supported by the embedded GLFW: gamepad support, mouse cursor shapes, copy to clipboard,
183-
workaround for Super/Meta key, different ways of resizing, multi-window (glfw/canvas) support.
184-
(#7647) [@ypujante]
185-
- Backends: GLFW+Emscripten: Fixed Emscripten warning when using mouse wheel on some setups
186-
"Unable to preventDefault inside passive event listener". (#7647, #7600) [@ypujante]
179+
- Backends:
180+
- Backends: Win32: Fixed ImGuiMod_Super being mapped to VK_APPS instead of (VK_LWIN || VK_RWIN).
181+
(#7768, #4858, #2622) [@Aemony]
182+
- Backends: SDL3: Update for API changes: SDL_GetGamepads() memory ownership change. (#7807)
183+
- Backends: SDL3: Update for API changes: SDL_GetClipboardText() memory ownership change. (#7801)
184+
- Backends: SDL3: Update for API changes: SDLK_x renames and SDLK_KP_x removals (#7761, #7762)
185+
- Backends: SDL3: Update for API changes: SDL_GetProperty() change to SDL_GetPointerProperty(). (#7794) [@wermipls]
186+
- Backends: SDL2,SDL3,OSX: Update for io.SetPlatformImeDataFn() -> io.PlatformSetImeDataFn() rename.
187+
- Backends: GLFW,SDL2: Added io.PlatformOpenInShellFn handler for web/Emscripten versions. (#7660)
188+
[@ypujante, @ocornut]
189+
- Backends; GLFW+Emscripten: Added support for GLFW3 contrib port which fixes many of the things
190+
not supported by the embedded GLFW: gamepad support, mouse cursor shapes, copy to clipboard,
191+
workaround for Super/Meta key, different ways of resizing, multi-window (glfw/canvas) support.
192+
(#7647) [@ypujante]
193+
- Backends: GLFW+Emscripten: Fixed Emscripten warning when using mouse wheel on some setups
194+
"Unable to preventDefault inside passive event listener". (#7647, #7600) [@ypujante]
187195

188196

189197
-----------------------------------------------------------------------

imgui.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// dear imgui, v1.91.0 WIP
1+
// dear imgui, v1.91.0
22
// (main code and documentation)
33

44
// Help:
@@ -430,7 +430,7 @@ CODE
430430
When you are not sure about an old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files.
431431
You can read releases logs https://github.com/ocornut/imgui/releases for more details.
432432

433-
- 2024/07/25 (1.91.0) - obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and GetWindowContentRegionMax().
433+
- 2024/07/25 (1.91.0) - obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and GetWindowContentRegionMax(). (see #7838 on GitHub for more info)
434434
you should never need those functions. you can do everything with GetCursorScreenPos() and GetContentRegionAvail() in a more simple way.
435435
- instead of: GetWindowContentRegionMax().x - GetCursorPos().x
436436
- you can use: GetContentRegionAvail().x

0 commit comments

Comments
 (0)