diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index 77fe70d52..c8500b16c 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -37,12 +37,12 @@ HOW TO UPDATE? ----------------------------------------------------------------------- - VERSION 1.90 WIP (In Progress) + VERSION 1.90.0 (Released 2023-11-15) ----------------------------------------------------------------------- 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, the ImGuiChildFlags_Border value is guaranteed to be == true forever to ensure a smoother transition, meaning all existing calls will still work. @@ -51,7 +51,7 @@ Breaking changes: After: BeginChild("Name", size, ImGuiChildFlags_Border) Before: BeginChild("Name", size, false) 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 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 @@ -68,7 +68,7 @@ Breaking changes: 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 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) - ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis. 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). - Commented out obsolete redirecting enums/functions that were marked obsolete two years ago: - 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. - 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 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 - command-buffer to upload fonts. Removed ImGui_ImplVulkan_DestroyFontUploadObjects() which is now unecessary. - No need to call ImGui_ImplVulkan_CreateFontsTexture() as it is done automatically in NewFrame(). + 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 ImGui_ImplVulkan_NewFrame(). You can call ImGui_ImplVulkan_CreateFontsTexture() manually if you need to reload the font atlas texture. (#6943, #6715, #6327, #3743, #4618) @@ -109,9 +109,9 @@ Other changes: hidden because of being scrolled out. - 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 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 - 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). - BeginChild(): made it possible to use SetNextWindowSizeConstraints() rectangle, often 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 SeparatorText(). (#1643) - 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() inside or outside Columns(). - Tooltips: @@ -172,9 +172,9 @@ 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 noticable when using an horizontal scrollbar. (#6789) + Was most often noticeable when using an horizontal scrollbar. (#6789) - 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) - 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) @@ -185,11 +185,11 @@ Other changes: - TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862) [@alektron] - 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 to SameLine() followed by manual cursor manipulation. - 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: - 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 @@ -206,7 +206,7 @@ Other changes: - 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). (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_AppBack, ImGuiKey_AppForward. (#4921) - 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: Partly fixed "Examples -> Constrained-resizing window" custom constrains demo. (#6210) [@cfillion] - 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. - No need to call ImGui_ImplVulkan_CreateFontsTexture() as it is done automatically in NewFrame(). + 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 ImGui_ImplVulkan_NewFrame(). 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). (#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 copy of gl3w becomes possible. (#6875, #6668, #4445) [@nicolasnoble] - 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) -- 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) diff --git a/imgui.cpp b/imgui.cpp index 36536f46f..14373f938 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.90 WIP +// dear imgui, v1.90.0 // (main code and documentation) // Help: diff --git a/imgui.h b/imgui.h index af6f643ab..4e52f8e5a 100644 --- a/imgui.h +++ b/imgui.h @@ -1,4 +1,4 @@ -// dear imgui, v1.90 WIP +// dear imgui, v1.90.0 // (headers) // Help: @@ -23,8 +23,8 @@ // Library Version // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM >= 12345') -#define IMGUI_VERSION "1.90 WIP" -#define IMGUI_VERSION_NUM 18999 +#define IMGUI_VERSION "1.90.0" +#define IMGUI_VERSION_NUM 19000 #define IMGUI_HAS_TABLE /* diff --git a/imgui_demo.cpp b/imgui_demo.cpp index 2ff2cbbeb..ba3f16d88 100644 --- a/imgui_demo.cpp +++ b/imgui_demo.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.90 WIP +// dear imgui, v1.90.0 // (demo code) // Help: diff --git a/imgui_draw.cpp b/imgui_draw.cpp index 2f5dc475e..d7e70c5f3 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.90 WIP +// dear imgui, v1.90.0 // (drawing and font code) /* diff --git a/imgui_internal.h b/imgui_internal.h index e1b36268b..6e06e6d34 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -1,4 +1,4 @@ -// dear imgui, v1.90 WIP +// dear imgui, v1.90.0 // (internal structures/api) // You may use this file to debug, understand or extend Dear ImGui features but we don't provide any guarantee of forward compatibility. diff --git a/imgui_tables.cpp b/imgui_tables.cpp index c9ea4544e..de65fd122 100644 --- a/imgui_tables.cpp +++ b/imgui_tables.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.90 WIP +// dear imgui, v1.90.0 // (tables and columns code) /* diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index d347dda5d..2456bfa6d 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.90 WIP +// dear imgui, v1.90.0 // (widgets code) /*