mirror of
https://github.com/Drezil/imgui.git
synced 2024-12-18 06:06:35 +00:00
EndGroup(): Made IsItemHovered() work when an item was activated within the group (#849) (loosely follows #840)
This commit is contained in:
parent
82dcdc9dfc
commit
dfe4683c17
@ -9196,8 +9196,11 @@ void ImGui::EndGroup()
|
||||
|
||||
// If the current ActiveId was declared within the boundary of our group, we copy it to LastItemId so IsItemActive() will function on the entire group.
|
||||
// It would be be neater if we replaced window.DC.LastItemId by e.g. 'bool LastItemIsActive', but if you search for LastItemId you'll notice it is only used in that context.
|
||||
if (!group_data.BackupActiveIdIsAlive && g.ActiveIdIsAlive && g.ActiveId && g.ActiveIdWindow->RootWindow == window->RootWindow)
|
||||
const bool active_id_within_group = (!group_data.BackupActiveIdIsAlive && g.ActiveIdIsAlive && g.ActiveId && g.ActiveIdWindow->RootWindow == window->RootWindow);
|
||||
if (active_id_within_group)
|
||||
window->DC.LastItemId = g.ActiveId;
|
||||
if (active_id_within_group && g.HoveredId == g.ActiveId)
|
||||
window->DC.LastItemHoveredAndUsable = window->DC.LastItemHoveredRect = true;
|
||||
|
||||
window->DC.GroupStack.pop_back();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user