mirror of
https://github.com/Drezil/imgui.git
synced 2025-07-04 12:08:47 +02:00
Internal: Minor tidying/reordering of sections within ImGuiContext / window DC.
This commit is contained in:
16
imgui.cpp
16
imgui.cpp
@ -6786,7 +6786,7 @@ void ImGui::BeginGroup()
|
||||
group_data.BackupCurrentLineTextBaseOffset = window->DC.CurrentLineTextBaseOffset;
|
||||
group_data.BackupActiveIdIsAlive = g.ActiveIdIsAlive;
|
||||
group_data.BackupActiveIdPreviousFrameIsAlive = g.ActiveIdPreviousFrameIsAlive;
|
||||
group_data.AdvanceCursor = true;
|
||||
group_data.EmitItem = true;
|
||||
|
||||
window->DC.GroupOffset.x = window->DC.CursorPos.x - window->Pos.x - window->DC.ColumnsOffset.x;
|
||||
window->DC.Indent = window->DC.GroupOffset;
|
||||
@ -6804,8 +6804,7 @@ void ImGui::EndGroup()
|
||||
|
||||
ImGuiGroupData& group_data = window->DC.GroupStack.back();
|
||||
|
||||
ImRect group_bb(group_data.BackupCursorPos, window->DC.CursorMaxPos);
|
||||
group_bb.Max = ImMax(group_bb.Min, group_bb.Max);
|
||||
ImRect group_bb(group_data.BackupCursorPos, ImMax(window->DC.CursorMaxPos, group_data.BackupCursorPos));
|
||||
|
||||
window->DC.CursorPos = group_data.BackupCursorPos;
|
||||
window->DC.CursorMaxPos = ImMax(group_data.BackupCursorMaxPos, window->DC.CursorMaxPos);
|
||||
@ -6816,13 +6815,16 @@ void ImGui::EndGroup()
|
||||
if (g.LogEnabled)
|
||||
g.LogLinePosY = -FLT_MAX; // To enforce Log carriage return
|
||||
|
||||
if (group_data.AdvanceCursor)
|
||||
if (!group_data.EmitItem)
|
||||
{
|
||||
window->DC.CurrentLineTextBaseOffset = ImMax(window->DC.PrevLineTextBaseOffset, group_data.BackupCurrentLineTextBaseOffset); // FIXME: Incorrect, we should grab the base offset from the *first line* of the group but it is hard to obtain now.
|
||||
ItemSize(group_bb.GetSize(), 0.0f);
|
||||
ItemAdd(group_bb, 0);
|
||||
window->DC.GroupStack.pop_back();
|
||||
return;
|
||||
}
|
||||
|
||||
window->DC.CurrentLineTextBaseOffset = ImMax(window->DC.PrevLineTextBaseOffset, group_data.BackupCurrentLineTextBaseOffset); // FIXME: Incorrect, we should grab the base offset from the *first line* of the group but it is hard to obtain now.
|
||||
ItemSize(group_bb.GetSize(), 0.0f);
|
||||
ItemAdd(group_bb, 0);
|
||||
|
||||
// If the current ActiveId was declared within the boundary of our group, we copy it to LastItemId so IsItemActive(), IsItemDeactivated() etc. will be functional on the entire group.
|
||||
// It would be be neater if we replaced window.DC.LastItemId by e.g. 'bool LastItemIsActive', but would put a little more burden on individual widgets.
|
||||
// Also if you grep for LastItemId you'll notice it is only used in that context.
|
||||
|
Reference in New Issue
Block a user