|
|
@ -32,11 +32,26 @@ HOW TO UPDATE?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
VERSION 1.89 WIP (In Progress)
|
|
|
|
VERSION 1.89 (Released 2022-11-15)
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.89
|
|
|
|
|
|
|
|
|
|
|
|
Breaking changes:
|
|
|
|
Breaking changes:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Layout: Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
|
|
|
|
|
|
|
|
This relates to when moving the cursor position beyond current boundaries WITHOUT submitting an item.
|
|
|
|
|
|
|
|
- Previously this would make the window content size ~200x200:
|
|
|
|
|
|
|
|
Begin(...) + SetCursorScreenPos(GetCursorScreenPos() + ImVec2(200,200)) + End();
|
|
|
|
|
|
|
|
- Instead, please submit an item:
|
|
|
|
|
|
|
|
Begin(...) + SetCursorScreenPos(GetCursorScreenPos() + ImVec2(200,200)) + Dummy(ImVec2(0,0)) + End();
|
|
|
|
|
|
|
|
- Alternative:
|
|
|
|
|
|
|
|
Begin(...) + Dummy(ImVec2(200,200)) + End();
|
|
|
|
|
|
|
|
Content size is now only extended when submitting an item.
|
|
|
|
|
|
|
|
With '#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS' this will now be detected and assert.
|
|
|
|
|
|
|
|
Without '#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS' this will silently be fixed until we obsolete it.
|
|
|
|
|
|
|
|
(This incorrect pattern has been mentioned or suggested in: #4510, #3355, #1760, #1490, #4152, #150,
|
|
|
|
|
|
|
|
threads have been amended to refer to this issue).
|
|
|
|
- Renamed and merged keyboard modifiers key enums and flags into a same set: (#4921, #456)
|
|
|
|
- Renamed and merged keyboard modifiers key enums and flags into a same set: (#4921, #456)
|
|
|
|
- ImGuiKey_ModCtrl and ImGuiModFlags_Ctrl -> ImGuiMod_Ctrl
|
|
|
|
- ImGuiKey_ModCtrl and ImGuiModFlags_Ctrl -> ImGuiMod_Ctrl
|
|
|
|
- ImGuiKey_ModShift and ImGuiModFlags_Shift -> ImGuiMod_Shift
|
|
|
|
- ImGuiKey_ModShift and ImGuiModFlags_Shift -> ImGuiMod_Shift
|
|
|
@ -61,11 +76,11 @@ Breaking changes:
|
|
|
|
- Custom backends not writing to io.NavInputs[] -> no issue.
|
|
|
|
- Custom backends not writing to io.NavInputs[] -> no issue.
|
|
|
|
- Custom backends writing to io.NavInputs[] -> will build and convert gamepad inputs, unless IMGUI_DISABLE_OBSOLETE_KEYIO is defined. Need fixing!
|
|
|
|
- Custom backends writing to io.NavInputs[] -> will build and convert gamepad inputs, unless IMGUI_DISABLE_OBSOLETE_KEYIO is defined. Need fixing!
|
|
|
|
- TL;DR: Backends should call io.AddKeyEvent()/io.AddKeyAnalogEvent() with ImGuiKey_GamepadXXX values instead of filling io.NavInput[].
|
|
|
|
- TL;DR: Backends should call io.AddKeyEvent()/io.AddKeyAnalogEvent() with ImGuiKey_GamepadXXX values instead of filling io.NavInput[].
|
|
|
|
That data was essentially 1.60's attempt to combine keyboard and gamepad inputs with named
|
|
|
|
The ImGuiNavInput enum was essentially 1.60's attempt to combine keyboard and gamepad inputs with named
|
|
|
|
semantic, but the additional indirection and copy added complexity and got in the way of other
|
|
|
|
semantic, but the additional indirection and copy added complexity and got in the way of other
|
|
|
|
incoming work. User's code (other than backends) should not be affected, unless you have custom
|
|
|
|
incoming work. User's code (other than backends) should not be affected, unless you have custom
|
|
|
|
widgets intercepting navigation events via the named enums (in which case you can upgrade your code).
|
|
|
|
widgets intercepting navigation events via the named enums (in which case you can upgrade your code).
|
|
|
|
- Removed runtime patching of invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt().
|
|
|
|
- DragInt()/SliderInt(): Removed runtime patching of invalid "%f"/"%.0f" types of format strings.
|
|
|
|
This was obsoleted in 1.61 (May 2018). See 1.61 changelog for details.
|
|
|
|
This was obsoleted in 1.61 (May 2018). See 1.61 changelog for details.
|
|
|
|
- Changed signature of ImageButton() function: (#5533, #4471, #2464, #1390)
|
|
|
|
- Changed signature of ImageButton() function: (#5533, #4471, #2464, #1390)
|
|
|
|
- Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter.
|
|
|
|
- Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter.
|
|
|
@ -79,34 +94,15 @@ Breaking changes:
|
|
|
|
- Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)'. (#1057)
|
|
|
|
- Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)'. (#1057)
|
|
|
|
Must always pass a pointer value explicitly, NULL/nullptr is ok but require cast, e.g. TreePush((void*)nullptr);
|
|
|
|
Must always pass a pointer value explicitly, NULL/nullptr is ok but require cast, e.g. TreePush((void*)nullptr);
|
|
|
|
If you used TreePush() replace with TreePush((void*)NULL);
|
|
|
|
If you used TreePush() replace with TreePush((void*)NULL);
|
|
|
|
- Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.79 (August 2020): (#3361)
|
|
|
|
|
|
|
|
- DragScalar(), DragScalarN(), DragFloat(), DragFloat2(), DragFloat3(), DragFloat4()
|
|
|
|
|
|
|
|
- SliderScalar(), SliderScalarN(), SliderFloat(), SliderFloat2(), SliderFloat3(), SliderFloat4()
|
|
|
|
|
|
|
|
- For old signatures ending with (..., const char* format, float power = 1.0f) -> use (..., format ImGuiSliderFlags_Logarithmic) if power != 1.0f.
|
|
|
|
|
|
|
|
- BeginPopupContextWindow(const char*, ImGuiMouseButton, bool) -> use BeginPopupContextWindow(const char*, ImGuiPopupFlags)
|
|
|
|
|
|
|
|
- OpenPopupContextItem() (briefly existed from 1.77 to 1.79) -> use OpenPopupOnItemClick()
|
|
|
|
|
|
|
|
- Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (#5548)
|
|
|
|
|
|
|
|
This relates to when moving the cursor position beyond current boundaries WITHOUT submitting an item.
|
|
|
|
|
|
|
|
- Previously this would make the window content size ~200x200:
|
|
|
|
|
|
|
|
Begin(...) + SetCursorScreenPos(GetCursorScreenPos() + ImVec2(200,200)) + End();
|
|
|
|
|
|
|
|
- Instead, please submit an item:
|
|
|
|
|
|
|
|
Begin(...) + SetCursorScreenPos(GetCursorScreenPos() + ImVec2(200,200)) + Dummy(ImVec2(0,0)) + End();
|
|
|
|
|
|
|
|
- Alternative:
|
|
|
|
|
|
|
|
Begin(...) + Dummy(ImVec2(200,200)) + End();
|
|
|
|
|
|
|
|
Content size is now only extended when submitting an item.
|
|
|
|
|
|
|
|
With '#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS' this will now be detected and assert.
|
|
|
|
|
|
|
|
Without '#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS' this will silently be fixed until we obsolete it.
|
|
|
|
|
|
|
|
(This incorrect pattern has been mentioned or suggested in: #4510, #3355, #1760, #1490, #4152, #150,
|
|
|
|
|
|
|
|
threads have been amended to refer to this issue).
|
|
|
|
|
|
|
|
- Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
|
|
|
|
- Removed support for 1.42-era IMGUI_DISABLE_INCLUDE_IMCONFIG_H / IMGUI_INCLUDE_IMCONFIG_H. (#255)
|
|
|
|
They only made sense before we could use IMGUI_USER_CONFIG.
|
|
|
|
They only made sense before we could use IMGUI_USER_CONFIG.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Other Changes:
|
|
|
|
Other Changes:
|
|
|
|
|
|
|
|
|
|
|
|
- Popups & Modals: fixed nested Begin() being erroneously input-inhibited. While it is
|
|
|
|
- Popups & Modals: fixed nested Begin() inside a popup being erroneously input-inhibited.
|
|
|
|
unusual, you can nest a Begin() inside a popup or modal, it is occasionally useful to
|
|
|
|
While it is unusual, you can nest a Begin() inside a popup or modal, it is occasionally
|
|
|
|
achieve certains things (e.g. some ways to implement suggestion popup #718, #4461).
|
|
|
|
useful to achieve certain things (e.g. to implement suggestion popups #718, #4461).
|
|
|
|
- Inputs: Standard widgets now claim for key/button ownership and test for them.
|
|
|
|
- Inputs: Standard widgets now claim for key/button ownership and test for them.
|
|
|
|
- Fixes scenario where e.g. a Popup with a Selectable() reacting on mouse down
|
|
|
|
- Fixes scenario where e.g. a Popup with a Selectable() reacting on mouse down
|
|
|
|
(e.g. double click) closes, and behind it is another window with an item reacting
|
|
|
|
(e.g. double click) closes, and behind it is another window with an item reacting
|
|
|
@ -137,7 +133,7 @@ Other Changes:
|
|
|
|
- IsItemHovered: Added ImGuiHoveredFlags_DelayNormal and ImGuiHoveredFlags_DelayShort flags,
|
|
|
|
- IsItemHovered: Added ImGuiHoveredFlags_DelayNormal and ImGuiHoveredFlags_DelayShort flags,
|
|
|
|
allowing to introduce a shared delay for tooltip idioms. The delays are respectively
|
|
|
|
allowing to introduce a shared delay for tooltip idioms. The delays are respectively
|
|
|
|
io.HoverDelayNormal (default to 0.30f) and io.HoverDelayFast (default to 0.10f). (#1485)
|
|
|
|
io.HoverDelayNormal (default to 0.30f) and io.HoverDelayFast (default to 0.10f). (#1485)
|
|
|
|
- IsItemHovered: Added ImGuiHoveredFlags_NoSharedDelay to disable sharing delays between itemm,
|
|
|
|
- IsItemHovered: Added ImGuiHoveredFlags_NoSharedDelay to disable sharing delays between items,
|
|
|
|
so moving from one item to a nearby one will requires delay to elapse again. (#1485)
|
|
|
|
so moving from one item to a nearby one will requires delay to elapse again. (#1485)
|
|
|
|
- Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns
|
|
|
|
- Tables: activating an ID (e.g. clicking button inside) column doesn't prevent columns
|
|
|
|
output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
|
|
|
|
output flags from having ImGuiTableColumnFlags_IsHovered set. (#2957)
|
|
|
@ -166,15 +162,15 @@ Other Changes:
|
|
|
|
the gap between a menu item inside a window and a child-menu in a secondary viewport. (#5614)
|
|
|
|
the gap between a menu item inside a window and a child-menu in a secondary viewport. (#5614)
|
|
|
|
- Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
|
|
|
|
- Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775)
|
|
|
|
- Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from
|
|
|
|
- Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from
|
|
|
|
a window which is neither a popup neither a menu used to incorrectly close and reopen the menu.
|
|
|
|
a window which is neither a popup neither a menu used to incorrectly close and reopen the menu
|
|
|
|
(the fix may have side-effect so labelld as experimental as we may need to revert) (#5775)
|
|
|
|
(the fix may have side-effect and is labelld as experimental as we may need to revert). (#5775)
|
|
|
|
- Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item
|
|
|
|
- Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item
|
|
|
|
in parent window when the parent is not a popup. (#5730)
|
|
|
|
in parent window when the parent is not a popup. (#5730)
|
|
|
|
- Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
|
|
|
|
- Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730)
|
|
|
|
- Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple
|
|
|
|
- Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple
|
|
|
|
BeginMenu() call with same names). (#1207)
|
|
|
|
BeginMenu() call with same names). (#1207)
|
|
|
|
- Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu()
|
|
|
|
- Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu()
|
|
|
|
returning false (specifically )
|
|
|
|
returning false.
|
|
|
|
- Nav: Fixed moving/resizing window with gamepad or keyboard when running at very high framerate.
|
|
|
|
- Nav: Fixed moving/resizing window with gamepad or keyboard when running at very high framerate.
|
|
|
|
- Nav: Pressing Space/GamepadFaceDown on a repeating button uses the same repeating rate as a mouse hold.
|
|
|
|
- Nav: Pressing Space/GamepadFaceDown on a repeating button uses the same repeating rate as a mouse hold.
|
|
|
|
- Nav: Fixed an issue opening a menu with Right key from a non-menu window.
|
|
|
|
- Nav: Fixed an issue opening a menu with Right key from a non-menu window.
|
|
|
|