|
@@ -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)
|
|
|
- Kept inline redirection function (will obsolete later) so existing code will work.
|
|
|
+ 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)
|
|
@@ -119,10 +119,6 @@ Other changes:
|
|
|
- BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(),
|
|
|
use it to make child window use FrameBg, FrameRounding, FrameBorderSize, FramePadding
|
|
|
instead of ChildBg, ChildRounding, ChildBorderSize, WindowPadding.
|
|
|
- - BeginChild(): Internal name used by child windows now omits the hash/id if the child
|
|
|
- window is submitted in root of id stack of parent window.
|
|
|
- So "Parent/Child_XXXXXXX" becomes "Parent/Child" when in root of id stack.
|
|
|
- Makes debugging/metrics easier and shorter to read in many cases.
|
|
|
- Popups: clarified meaning of 'p_open != NULL' in BeginPopupModal() + set back user value
|
|
|
to false when popup is closed in ways other than clicking the close button. (#6900)
|
|
|
- Double-clicking lower-left resize grip auto-resize (like lower-right one).
|
|
@@ -141,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:
|
|
@@ -176,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)
|
|
@@ -189,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
|
|
@@ -201,10 +197,16 @@ Other changes:
|
|
|
- Better assert during load when passing truncated font data or wrong data size. (#6822)
|
|
|
- Ensure calling AddFontXXX function doesn't invalidates ImFont's ConfigData pointers
|
|
|
prior to building again. (#6825)
|
|
|
+ - Added ImFontConfig::RasterizerDensity field to increase texture size of rendered glyphs
|
|
|
+ without altering other metrics. Among other things, this makes it easier to have zooming code
|
|
|
+ swapping between 2 fonts (e.g. a 100% and a 400% fonts) depending on current scale. (#6925) [@thedmd]
|
|
|
+ Important: if you increase this it is expected that you would render the font with a scale of
|
|
|
+ similar value or magnitude. Merely increasing this without increasing scale may lower quality.
|
|
|
+ - imgui_freetype: Added support for RasterizerDensity. (#6925) [@thedmd]
|
|
|
- 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]
|
|
@@ -215,9 +217,10 @@ Other changes:
|
|
|
- Demo: Added "Drag and Drop -> Tooltip at target location" demo.
|
|
|
- Demo: Added "Layout -> Child Windows -> Manual-resize" demo. (#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]
|
|
|
- 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)
|
|
@@ -236,9 +239,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)
|
|
|
|
|
|
Docking+Viewports Branch:
|