mirror of
https://github.com/ocornut/imgui.git
synced 2026-05-28 03:25:25 +08:00
Multi-Select + Tables: fixed an issue which could lead to an extra vertical offset in the Header row. (#8250, #7994)
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
scheduled / scheduled (push) Has been cancelled
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
scheduled / scheduled (push) Has been cancelled
Because BeginMultiSelect() does `ms->ScopeRectMin = window->DC.CursorMaxPos = window->DC.CursorPos` at a time where CursorPos is already past MaxPos.y because of ItemSpacing.y. Accumulate spacing.
This commit is contained in:
@@ -61,6 +61,8 @@ Other Changes:
|
|||||||
- Multi-Select:
|
- Multi-Select:
|
||||||
- Fixed an issue using Multi-Select within a Table causing column width measurement to
|
- Fixed an issue using Multi-Select within a Table causing column width measurement to
|
||||||
be invalid when trailing column contents is not submitted in the last row. (#9341, #8250)
|
be invalid when trailing column contents is not submitted in the last row. (#9341, #8250)
|
||||||
|
- Fixed an issue using Multi-Select within a Table with the right-most column visible,
|
||||||
|
which could lead to an extra vertical offset in the Header row. (#8250)
|
||||||
- Box-Select: fixed an issue using ImGuiMultiSelectFlags_BoxSelect1d mode while scrolling.
|
- Box-Select: fixed an issue using ImGuiMultiSelectFlags_BoxSelect1d mode while scrolling.
|
||||||
Notably, using mouse wheel while holding a box-selection could lead items close to windows
|
Notably, using mouse wheel while holding a box-selection could lead items close to windows
|
||||||
edges from not being correctly unselected. (#7994, #8250, #7821, #7850, #7970)
|
edges from not being correctly unselected. (#7994, #8250, #7821, #7850, #7970)
|
||||||
|
|||||||
+3
-1
@@ -8016,7 +8016,9 @@ ImGuiMultiSelectIO* ImGui::BeginMultiSelect(ImGuiMultiSelectFlags flags, int sel
|
|||||||
ms->FocusScopeId = id;
|
ms->FocusScopeId = id;
|
||||||
ms->Flags = flags;
|
ms->Flags = flags;
|
||||||
ms->BackupCursorMaxPos = window->DC.CursorMaxPos;
|
ms->BackupCursorMaxPos = window->DC.CursorMaxPos;
|
||||||
ms->ScopeRectMin = window->DC.CursorMaxPos = window->DC.CursorPos; // CalcScopeRect() for ImGuiMultiSelectFlags_ScopeRect will measure in EndMultiSelect().
|
ms->ScopeRectMin = window->DC.CursorPos;
|
||||||
|
if (flags & ImGuiMultiSelectFlags_ScopeRect)
|
||||||
|
window->DC.CursorMaxPos = ms->ScopeRectMin; // CalcScopeRect() for ImGuiMultiSelectFlags_ScopeRect will measure in EndMultiSelect().
|
||||||
PushFocusScope(ms->FocusScopeId);
|
PushFocusScope(ms->FocusScopeId);
|
||||||
ms->IsFocused = IsInNavFocusRoute(g.CurrentFocusScopeId);
|
ms->IsFocused = IsInNavFocusRoute(g.CurrentFocusScopeId);
|
||||||
if (flags & ImGuiMultiSelectFlags_ScopeWindow) // Mark parent child window as navigable into, with highlight. Assume user will always submit interactive items.
|
if (flags & ImGuiMultiSelectFlags_ScopeWindow) // Mark parent child window as navigable into, with highlight. Assume user will always submit interactive items.
|
||||||
|
|||||||
Reference in New Issue
Block a user