|
@ -37,12 +37,12 @@ HOW TO UPDATE? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------- |
|
|
----------------------------------------------------------------------- |
|
|
VERSION 1.90 WIP (In Progress) |
|
|
VERSION 1.90.0 (Released 2023-11-15) |
|
|
----------------------------------------------------------------------- |
|
|
----------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
Breaking changes: |
|
|
Breaking changes: |
|
|
|
|
|
|
|
|
- BeginChild(): Upgraded 'bool border = false' parameter to 'ImGuiChildFlags flags'. |
|
|
- BeginChild(): Upgraded 'bool border = false' parameter to 'ImGuiChildFlags flags = 0'. |
|
|
Added ImGuiChildFlags_Border value. As with our prior "bool-to-flags" API updates, |
|
|
Added ImGuiChildFlags_Border value. As with our prior "bool-to-flags" API updates, |
|
|
the ImGuiChildFlags_Border value is guaranteed to be == true forever to ensure a |
|
|
the ImGuiChildFlags_Border value is guaranteed to be == true forever to ensure a |
|
|
smoother transition, meaning all existing calls will still work. |
|
|
smoother transition, meaning all existing calls will still work. |
|
@ -51,7 +51,7 @@ Breaking changes: |
|
|
After: BeginChild("Name", size, ImGuiChildFlags_Border) |
|
|
After: BeginChild("Name", size, ImGuiChildFlags_Border) |
|
|
Before: BeginChild("Name", size, false) |
|
|
Before: BeginChild("Name", size, false) |
|
|
After: BeginChild("Name", size) or BeginChild("Name", 0) or BeginChild("Name", size, ImGuiChildFlags_None) |
|
|
After: BeginChild("Name", size) or BeginChild("Name", 0) or BeginChild("Name", size, ImGuiChildFlags_None) |
|
|
Existing code will still work as 'ImGuiChildFlags_Border == true', but you are encouraged to upgrade. |
|
|
Existing code will still work as 'ImGuiChildFlags_Border == true', but you are encouraged to update call sites. |
|
|
- BeginChild(): Added child-flag ImGuiChildFlags_AlwaysUseWindowPadding as a replacement for |
|
|
- BeginChild(): Added child-flag ImGuiChildFlags_AlwaysUseWindowPadding as a replacement for |
|
|
the window-flag ImGuiWindowFlags_AlwaysUseWindowPadding: the feature only ever made sense |
|
|
the window-flag ImGuiWindowFlags_AlwaysUseWindowPadding: the feature only ever made sense |
|
|
for use with BeginChild() anyhow, passing it to Begin() had no effect. Now that we accept |
|
|
for use with BeginChild() anyhow, passing it to Begin() had no effect. Now that we accept |
|
@ -68,7 +68,7 @@ Breaking changes: |
|
|
as earlier name was misleading. Kept inline redirection function. (#4631) |
|
|
as earlier name was misleading. Kept inline redirection function. (#4631) |
|
|
- IO: Removed io.MetricsActiveAllocations introduced in 1.63, was displayed in Metrics and unlikely to |
|
|
- IO: Removed io.MetricsActiveAllocations introduced in 1.63, was displayed in Metrics and unlikely to |
|
|
be accessed by end-user. Value still visible in the UI and easily to recompute from a delta. |
|
|
be accessed by end-user. Value still visible in the UI and easily to recompute from a delta. |
|
|
- Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automaticaly define IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921) |
|
|
- Defining IMGUI_DISABLE_OBSOLETE_FUNCTIONS now automatically defines IMGUI_DISABLE_OBSOLETE_KEYIO. (#4921) |
|
|
- Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537) |
|
|
- Removed IM_OFFSETOF() macro in favor of using offsetof() available in C++11. Kept redirection define. (#4537) |
|
|
- ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis. |
|
|
- ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis. |
|
|
Before: |
|
|
Before: |
|
@ -82,15 +82,15 @@ Breaking changes: |
|
|
Old type was unnecessarily complex and harder to wrap in e.g. a lambda. Kept inline redirection function (will obsolete). |
|
|
Old type was unnecessarily complex and harder to wrap in e.g. a lambda. Kept inline redirection function (will obsolete). |
|
|
- Commented out obsolete redirecting enums/functions that were marked obsolete two years ago: |
|
|
- Commented out obsolete redirecting enums/functions that were marked obsolete two years ago: |
|
|
- GetWindowContentRegionWidth() -> use GetWindowContentRegionMax().x - GetWindowContentRegionMin().x. |
|
|
- GetWindowContentRegionWidth() -> use GetWindowContentRegionMax().x - GetWindowContentRegionMin().x. |
|
|
Consider that generally 'GetContentRegionAvail().x' is more useful. |
|
|
Consider that generally 'GetContentRegionAvail().x' is often more correct and more useful. |
|
|
- ImDrawCornerFlags_XXX -> use ImDrawFlags_RoundCornersXXX names. |
|
|
- ImDrawCornerFlags_XXX -> use ImDrawFlags_RoundCornersXXX names. |
|
|
Read 1.82 changelog for details + grep commented names in sources + . |
|
|
Read 1.82 changelog for details + grep commented names in sources. |
|
|
- Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for |
|
|
- Commented out runtime support for hardcoded ~0 or 0x01..0x0F rounding flags values for |
|
|
AddRect()/AddRectFilled()/PathRect()/AddImageRounded(). -> Use ImDrawFlags_RoundCornersXXX flags. |
|
|
AddRect()/AddRectFilled()/PathRect()/AddImageRounded(). -> Use ImDrawFlags_RoundCornersXXX flags. |
|
|
Read 1.82 Changelog for details. |
|
|
Read 1.82 changelog for details. |
|
|
- Backends: Vulkan: Removed parameter from ImGui_ImplVulkan_CreateFontsTexture(): backend now creates its own |
|
|
- Backends: Vulkan: Removed parameter from ImGui_ImplVulkan_CreateFontsTexture(): backend now creates its own |
|
|
command-buffer to upload fonts. Removed ImGui_ImplVulkan_DestroyFontUploadObjects() which is now unecessary. |
|
|
command-buffer to upload fonts. Removed ImGui_ImplVulkan_DestroyFontUploadObjects() which is now unnecessary. |
|
|
No need to call ImGui_ImplVulkan_CreateFontsTexture() as it is done automatically in NewFrame(). |
|
|
No need to call ImGui_ImplVulkan_CreateFontsTexture() as it is done automatically in ImGui_ImplVulkan_NewFrame(). |
|
|
You can call ImGui_ImplVulkan_CreateFontsTexture() manually if you need to reload the font atlas texture. |
|
|
You can call ImGui_ImplVulkan_CreateFontsTexture() manually if you need to reload the font atlas texture. |
|
|
(#6943, #6715, #6327, #3743, #4618) |
|
|
(#6943, #6715, #6327, #3743, #4618) |
|
|
|
|
|
|
|
@ -109,9 +109,9 @@ Other changes: |
|
|
hidden because of being scrolled out. |
|
|
hidden because of being scrolled out. |
|
|
- Combining this with also specifying ImGuiChildFlags_AlwaysAutoResize disables |
|
|
- Combining this with also specifying ImGuiChildFlags_AlwaysAutoResize disables |
|
|
this optimization, meaning child contents will never be clipped (not recommended). |
|
|
this optimization, meaning child contents will never be clipped (not recommended). |
|
|
- Please be considerate that child are full windows and carry significiant overhead: |
|
|
- 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 axises to create a non-scrolling child to merely draw |
|
|
a border would be better more optimally using BeginGroup(). |
|
|
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). |
|
|
(until we come up with new helpers for framed groups and work-rect adjustments). |
|
|
- BeginChild(): made it possible to use SetNextWindowSizeConstraints() rectangle, often |
|
|
- BeginChild(): made it possible to use SetNextWindowSizeConstraints() rectangle, often |
|
|
useful when ImGuiChildFlags_AutoResizeX or ImGuiChildFlags_AutoResizeY. (#1666, #1395, #1496) |
|
|
useful when ImGuiChildFlags_AutoResizeX or ImGuiChildFlags_AutoResizeY. (#1666, #1395, #1496) |
|
@ -137,7 +137,7 @@ Other changes: |
|
|
- Matches tree indentation (was not the case before). |
|
|
- Matches tree indentation (was not the case before). |
|
|
- Matches SeparatorText(). (#1643) |
|
|
- Matches SeparatorText(). (#1643) |
|
|
- Makes things correct inside groups without specific/hard-coded handling. (#205) |
|
|
- Makes things correct inside groups without specific/hard-coded handling. (#205) |
|
|
- Mostly legacy behavior when used inside old Columns(), as we favored that idiom back then, |
|
|
- Support legacy behavior when used inside old Columns(), as we favored that idiom back then, |
|
|
only different is left position follows indentation level, to match calling a Separator() |
|
|
only different is left position follows indentation level, to match calling a Separator() |
|
|
inside or outside Columns(). |
|
|
inside or outside Columns(). |
|
|
- Tooltips: |
|
|
- Tooltips: |
|
@ -172,9 +172,9 @@ Other changes: |
|
|
parent-menu would erroneously close the child-menu. (Regression from 1.88). (#6869) |
|
|
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 |
|
|
- 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. |
|
|
register contents size in a way that would affect the scrolling layer. |
|
|
Was most often noticable when using an horizontal scrollbar. (#6789) |
|
|
Was most often noticeable when using an horizontal scrollbar. (#6789) |
|
|
- InputText: |
|
|
- InputText: |
|
|
- InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. |
|
|
- 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) |
|
|
(regression from 1.89.2, only happened in some states). (#6783, #6000) |
|
|
- InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't |
|
|
- InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't |
|
|
be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787) |
|
|
be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787) |
|
@ -185,11 +185,11 @@ Other changes: |
|
|
- TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was |
|
|
- TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was |
|
|
accidentally offset in 1.89.9. (#6862) [@alektron] |
|
|
accidentally offset in 1.89.9. (#6862) [@alektron] |
|
|
- ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip not being forwarded to individual DragFloat3 |
|
|
- ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip not being forwarded to individual DragFloat3 |
|
|
sub-widgets which have a visible color preview when ImGuiColorEditFlags_NoSidePreview is set. (#6957) |
|
|
sub-widgets which have a visible color preview when ImGuiColorEditFlags_NoSidePreview is also set. (#6957) |
|
|
- BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call |
|
|
- BeginGroup(): Fixed a bug pushing line lower extent too far down when called after a call |
|
|
to SameLine() followed by manual cursor manipulation. |
|
|
to SameLine() followed by manual cursor manipulation. |
|
|
- BeginCombo(): Added ImGuiComboFlags_WidthFitPreview flag. (#6881) [@mpv-enjoyer] |
|
|
- BeginCombo(): Added ImGuiComboFlags_WidthFitPreview flag. (#6881) [@mpv-enjoyer] |
|
|
- BeginListBox(): Fixed not consuming SetNextWindowXXX data when returning false. |
|
|
- BeginListBox(): Fixed not consuming SetNextWindowXXX() data when returning false. |
|
|
- Fonts: |
|
|
- Fonts: |
|
|
- Argument 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. |
|
|
- Argument 'float size_pixels' passed to AddFontXXX() functions is now rounded to lowest integer. |
|
|
This is because our layout/font system currently doesn't fully support non-integer sizes. Until |
|
|
This is because our layout/font system currently doesn't fully support non-integer sizes. Until |
|
@ -206,7 +206,7 @@ Other changes: |
|
|
- imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591) |
|
|
- imgui_freetype: Fixed a warning and leak in IMGUI_ENABLE_FREETYPE_LUNASVG support. (#6842, #6591) |
|
|
- Inputs: Added IsKeyChordPressed() helper function e.g. IsKeyChordPressed(ImGuiMod_Ctrl | ImGuiKey_S). |
|
|
- Inputs: Added IsKeyChordPressed() helper function e.g. IsKeyChordPressed(ImGuiMod_Ctrl | ImGuiKey_S). |
|
|
(note that ImGuiMod_Shortcut may be used as an alias for Cmd on OSX and Ctrl on other systems). |
|
|
(note that ImGuiMod_Shortcut may be used as an alias for Cmd on OSX and Ctrl on other systems). |
|
|
- Misc: Most text functions also treat "%.*s" (along with "%s") specially to avoid formatting. (#3466, #6846) |
|
|
- Misc: Most text functions also treat "%.*s" (along with "%s") specially to bypass formatting. (#3466, #6846) |
|
|
- IO: Add extra keys to ImGuiKey enum: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921) |
|
|
- IO: Add extra keys to ImGuiKey enum: ImGuiKey_F13 to ImGuiKey_F24. (#6891, #4921) |
|
|
- IO: Add extra keys to ImGuiKey enum: ImGuiKey_AppBack, ImGuiKey_AppForward. (#4921) |
|
|
- IO: Add extra keys to ImGuiKey enum: ImGuiKey_AppBack, ImGuiKey_AppForward. (#4921) |
|
|
- IO: Setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228) [@bertaye] |
|
|
- IO: Setting io.WantSetMousePos ignores incoming MousePos events. (#6837, #228) [@bertaye] |
|
@ -219,8 +219,8 @@ Other changes: |
|
|
- Demo: Added "Layout -> Child Windows -> Auto-resize with constraints" demo. (#1666, #1395, #1496, #1710) |
|
|
- Demo: Added "Layout -> Child Windows -> Auto-resize with constraints" demo. (#1666, #1395, #1496, #1710) |
|
|
- Demo: Partly fixed "Examples -> Constrained-resizing window" custom constrains demo. (#6210) [@cfillion] |
|
|
- Demo: Partly fixed "Examples -> Constrained-resizing window" custom constrains demo. (#6210) [@cfillion] |
|
|
- Backends: Vulkan: Removed parameter from ImGui_ImplVulkan_CreateFontsTexture(): backend now creates its own |
|
|
- Backends: Vulkan: Removed parameter from ImGui_ImplVulkan_CreateFontsTexture(): backend now creates its own |
|
|
command-buffer to upload fonts. Removed ImGui_ImplVulkan_DestroyFontUploadObjects() which is now unecessary. |
|
|
command-buffer to upload fonts. Removed ImGui_ImplVulkan_DestroyFontUploadObjects() which is now unnecessary. |
|
|
No need to call ImGui_ImplVulkan_CreateFontsTexture() as it is done automatically in NewFrame(). |
|
|
No need to call ImGui_ImplVulkan_CreateFontsTexture() as it is done automatically in ImGui_ImplVulkan_NewFrame(). |
|
|
You can call ImGui_ImplVulkan_CreateFontsTexture() manually if you need to reload font atlas texture. |
|
|
You can call ImGui_ImplVulkan_CreateFontsTexture() manually if you need to reload font atlas texture. |
|
|
Fixed leaks, and added ImGui_ImplVulkan_DestroyFontsTexture() (probably no need to call this directly). |
|
|
Fixed leaks, and added ImGui_ImplVulkan_DestroyFontsTexture() (probably no need to call this directly). |
|
|
(#6943, #6715, #6327, #3743, #4618) |
|
|
(#6943, #6715, #6327, #3743, #4618) |
|
@ -237,9 +237,9 @@ Other changes: |
|
|
- Backends: OpenGL3: rename symbols in our internal loader so that LTO compilation with another |
|
|
- Backends: OpenGL3: rename symbols in our internal loader so that LTO compilation with another |
|
|
copy of gl3w becomes possible. (#6875, #6668, #4445) [@nicolasnoble] |
|
|
copy of gl3w becomes possible. (#6875, #6668, #4445) [@nicolasnoble] |
|
|
- Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead |
|
|
- Backends: OpenGL3: Update GL3W based imgui_impl_opengl3_loader.h to load "libGL.so" instead |
|
|
of "libGL.so.1", accomodating for NetBSD systems having only "libGL.so.3" available. (#6983) |
|
|
of "libGL.so.1", accommodating for NetBSD systems having only "libGL.so.3" available. (#6983) |
|
|
- Backends: OSX: Added support for F13 to F20 function keys. Support mapping F13 to PrintScreen. (#6891) |
|
|
- Backends: OSX: Added support for F13 to F20 function keys. Support mapping F13 to PrintScreen. (#6891) |
|
|
- Examples: GLFW+Vulkan, SDL+Vulkan: Extracted font upload code into a UploadFonts() function. |
|
|
- Examples: GLFW+Vulkan, SDL+Vulkan: Simplified and removed code due to backend improvements. |
|
|
- Internals: Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861) |
|
|
- Internals: Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|