|
@@ -2679,8 +2679,8 @@ void ImGui::SetActiveID(ImGuiID id, ImGuiWindow* window)
|
|
|
if (g.ActiveIdIsJustActivated)
|
|
|
{
|
|
|
g.ActiveIdTimer = 0.0f;
|
|
|
- g.ActiveIdHasBeenPressed = false;
|
|
|
- g.ActiveIdHasBeenEdited = false;
|
|
|
+ g.ActiveIdHasBeenPressedBefore = false;
|
|
|
+ g.ActiveIdHasBeenEditedBefore = false;
|
|
|
if (id != 0)
|
|
|
{
|
|
|
g.LastActiveId = id;
|
|
@@ -2759,7 +2759,7 @@ void ImGui::MarkItemEdited(ImGuiID id)
|
|
|
IM_ASSERT(g.ActiveId == id || g.ActiveId == 0 || g.DragDropActive);
|
|
|
IM_UNUSED(id); // Avoid unused variable warnings when asserts are compiled out.
|
|
|
//IM_ASSERT(g.CurrentWindow->DC.LastItemId == id);
|
|
|
- g.ActiveIdHasBeenEdited = true;
|
|
|
+ g.ActiveIdHasBeenEditedBefore = true;
|
|
|
g.CurrentWindow->DC.LastItemStatusFlags |= ImGuiItemStatusFlags_Edited;
|
|
|
}
|
|
|
|
|
@@ -2792,10 +2792,11 @@ void ImGui::ItemSize(const ImVec2& size, float text_offset_y)
|
|
|
return;
|
|
|
|
|
|
// Always align ourselves on pixel boundaries
|
|
|
- const float line_height = ImMax(window->DC.CurrentLineSize.y, size.y);
|
|
|
- const float text_base_offset = ImMax(window->DC.CurrentLineTextBaseOffset, text_offset_y);
|
|
|
+ const float line_height = ImMax(window->DC.CurrLineSize.y, size.y);
|
|
|
+ const float text_base_offset = ImMax(window->DC.CurrLineTextBaseOffset, text_offset_y);
|
|
|
//if (g.IO.KeyAlt) window->DrawList->AddRect(window->DC.CursorPos, window->DC.CursorPos + ImVec2(size.x, line_height), IM_COL32(255,0,0,200)); // [DEBUG]
|
|
|
- window->DC.CursorPosPrevLine = ImVec2(window->DC.CursorPos.x + size.x, window->DC.CursorPos.y);
|
|
|
+ window->DC.CursorPosPrevLine.x = window->DC.CursorPos.x + size.x;
|
|
|
+ window->DC.CursorPosPrevLine.y = window->DC.CursorPos.y;
|
|
|
window->DC.CursorPos.x = (float)(int)(window->Pos.x + window->DC.Indent.x + window->DC.ColumnsOffset.x);
|
|
|
window->DC.CursorPos.y = (float)(int)(window->DC.CursorPos.y + line_height + g.Style.ItemSpacing.y);
|
|
|
window->DC.CursorMaxPos.x = ImMax(window->DC.CursorMaxPos.x, window->DC.CursorPosPrevLine.x);
|
|
@@ -2804,7 +2805,7 @@ void ImGui::ItemSize(const ImVec2& size, float text_offset_y)
|
|
|
|
|
|
window->DC.PrevLineSize.y = line_height;
|
|
|
window->DC.PrevLineTextBaseOffset = text_base_offset;
|
|
|
- window->DC.CurrentLineSize.y = window->DC.CurrentLineTextBaseOffset = 0.0f;
|
|
|
+ window->DC.CurrLineSize.y = window->DC.CurrLineTextBaseOffset = 0.0f;
|
|
|
|
|
|
// Horizontal layout mode
|
|
|
if (window->DC.LayoutType == ImGuiLayoutType_Horizontal)
|
|
@@ -3529,7 +3530,7 @@ void ImGui::NewFrame()
|
|
|
g.LastActiveIdTimer += g.IO.DeltaTime;
|
|
|
g.ActiveIdPreviousFrame = g.ActiveId;
|
|
|
g.ActiveIdPreviousFrameWindow = g.ActiveIdWindow;
|
|
|
- g.ActiveIdPreviousFrameHasBeenEdited = g.ActiveIdHasBeenEdited;
|
|
|
+ g.ActiveIdPreviousFrameHasBeenEditedBefore = g.ActiveIdHasBeenEditedBefore;
|
|
|
g.ActiveIdIsAlive = 0;
|
|
|
g.ActiveIdPreviousFrameIsAlive = false;
|
|
|
g.ActiveIdIsJustActivated = false;
|
|
@@ -4341,7 +4342,7 @@ bool ImGui::IsItemDeactivated()
|
|
|
bool ImGui::IsItemDeactivatedAfterEdit()
|
|
|
{
|
|
|
ImGuiContext& g = *GImGui;
|
|
|
- return IsItemDeactivated() && (g.ActiveIdPreviousFrameHasBeenEdited || (g.ActiveId == 0 && g.ActiveIdHasBeenEdited));
|
|
|
+ return IsItemDeactivated() && (g.ActiveIdPreviousFrameHasBeenEditedBefore || (g.ActiveId == 0 && g.ActiveIdHasBeenEditedBefore));
|
|
|
}
|
|
|
|
|
|
bool ImGui::IsItemFocused()
|
|
@@ -5530,8 +5531,8 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
|
|
window->DC.CursorPos = window->DC.CursorStartPos;
|
|
|
window->DC.CursorPosPrevLine = window->DC.CursorPos;
|
|
|
window->DC.CursorMaxPos = window->DC.CursorStartPos;
|
|
|
- window->DC.CurrentLineSize = window->DC.PrevLineSize = ImVec2(0.0f, 0.0f);
|
|
|
- window->DC.CurrentLineTextBaseOffset = window->DC.PrevLineTextBaseOffset = 0.0f;
|
|
|
+ window->DC.CurrLineSize = window->DC.PrevLineSize = ImVec2(0.0f, 0.0f);
|
|
|
+ window->DC.CurrLineTextBaseOffset = window->DC.PrevLineTextBaseOffset = 0.0f;
|
|
|
window->DC.NavHideHighlightOneFrame = false;
|
|
|
window->DC.NavHasScroll = (GetWindowScrollMaxY(window) > 0.0f);
|
|
|
window->DC.NavLayerActiveMask = window->DC.NavLayerActiveMaskNext;
|
|
@@ -6776,8 +6777,8 @@ void ImGui::BeginGroup()
|
|
|
group_data.BackupCursorMaxPos = window->DC.CursorMaxPos;
|
|
|
group_data.BackupIndent = window->DC.Indent;
|
|
|
group_data.BackupGroupOffset = window->DC.GroupOffset;
|
|
|
- group_data.BackupCurrentLineSize = window->DC.CurrentLineSize;
|
|
|
- group_data.BackupCurrentLineTextBaseOffset = window->DC.CurrentLineTextBaseOffset;
|
|
|
+ group_data.BackupCurrLineSize = window->DC.CurrLineSize;
|
|
|
+ group_data.BackupCurrLineTextBaseOffset = window->DC.CurrLineTextBaseOffset;
|
|
|
group_data.BackupActiveIdIsAlive = g.ActiveIdIsAlive;
|
|
|
group_data.BackupActiveIdPreviousFrameIsAlive = g.ActiveIdPreviousFrameIsAlive;
|
|
|
group_data.EmitItem = true;
|
|
@@ -6785,7 +6786,7 @@ void ImGui::BeginGroup()
|
|
|
window->DC.GroupOffset.x = window->DC.CursorPos.x - window->Pos.x - window->DC.ColumnsOffset.x;
|
|
|
window->DC.Indent = window->DC.GroupOffset;
|
|
|
window->DC.CursorMaxPos = window->DC.CursorPos;
|
|
|
- window->DC.CurrentLineSize = ImVec2(0.0f, 0.0f);
|
|
|
+ window->DC.CurrLineSize = ImVec2(0.0f, 0.0f);
|
|
|
if (g.LogEnabled)
|
|
|
g.LogLinePosY = -FLT_MAX; // To enforce Log carriage return
|
|
|
}
|
|
@@ -6804,8 +6805,8 @@ void ImGui::EndGroup()
|
|
|
window->DC.CursorMaxPos = ImMax(group_data.BackupCursorMaxPos, window->DC.CursorMaxPos);
|
|
|
window->DC.Indent = group_data.BackupIndent;
|
|
|
window->DC.GroupOffset = group_data.BackupGroupOffset;
|
|
|
- window->DC.CurrentLineSize = group_data.BackupCurrentLineSize;
|
|
|
- window->DC.CurrentLineTextBaseOffset = group_data.BackupCurrentLineTextBaseOffset;
|
|
|
+ window->DC.CurrLineSize = group_data.BackupCurrLineSize;
|
|
|
+ window->DC.CurrLineTextBaseOffset = group_data.BackupCurrLineTextBaseOffset;
|
|
|
if (g.LogEnabled)
|
|
|
g.LogLinePosY = -FLT_MAX; // To enforce Log carriage return
|
|
|
|
|
@@ -6815,7 +6816,7 @@ void ImGui::EndGroup()
|
|
|
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.
|
|
|
+ window->DC.CurrLineTextBaseOffset = ImMax(window->DC.PrevLineTextBaseOffset, group_data.BackupCurrLineTextBaseOffset); // 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);
|
|
|
|
|
@@ -6832,7 +6833,6 @@ void ImGui::EndGroup()
|
|
|
window->DC.LastItemRect = group_bb;
|
|
|
|
|
|
window->DC.GroupStack.pop_back();
|
|
|
-
|
|
|
//window->DrawList->AddRect(group_bb.Min, group_bb.Max, IM_COL32(255,0,255,255)); // [Debug]
|
|
|
}
|
|
|
|
|
@@ -6860,8 +6860,8 @@ void ImGui::SameLine(float offset_from_start_x, float spacing_w)
|
|
|
window->DC.CursorPos.x = window->DC.CursorPosPrevLine.x + spacing_w;
|
|
|
window->DC.CursorPos.y = window->DC.CursorPosPrevLine.y;
|
|
|
}
|
|
|
- window->DC.CurrentLineSize = window->DC.PrevLineSize;
|
|
|
- window->DC.CurrentLineTextBaseOffset = window->DC.PrevLineTextBaseOffset;
|
|
|
+ window->DC.CurrLineSize = window->DC.PrevLineSize;
|
|
|
+ window->DC.CurrLineTextBaseOffset = window->DC.PrevLineTextBaseOffset;
|
|
|
}
|
|
|
|
|
|
void ImGui::Indent(float indent_w)
|
|
@@ -8435,8 +8435,8 @@ void ImGui::NextColumn()
|
|
|
}
|
|
|
window->DC.CursorPos.x = (float)(int)(window->Pos.x + window->DC.Indent.x + window->DC.ColumnsOffset.x);
|
|
|
window->DC.CursorPos.y = columns->LineMinY;
|
|
|
- window->DC.CurrentLineSize = ImVec2(0.0f, 0.0f);
|
|
|
- window->DC.CurrentLineTextBaseOffset = 0.0f;
|
|
|
+ window->DC.CurrLineSize = ImVec2(0.0f, 0.0f);
|
|
|
+ window->DC.CurrLineTextBaseOffset = 0.0f;
|
|
|
|
|
|
PushColumnClipRect(columns->Current);
|
|
|
PushItemWidth(GetColumnWidth() * 0.65f); // FIXME-COLUMNS: Move on columns setup
|