mirror of
https://github.com/ocornut/imgui.git
synced 2025-02-26 06:48:26 +01:00
Fixed new window from having an incorrect content size on their first frame (#175)
This commit is contained in:
parent
7e8f1f1062
commit
5737a79c8d
@ -2898,9 +2898,13 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size, float bg
|
|||||||
IM_ASSERT(name != NULL); // Must pass a name
|
IM_ASSERT(name != NULL); // Must pass a name
|
||||||
|
|
||||||
// Find or create
|
// Find or create
|
||||||
|
bool window_is_new = false;
|
||||||
ImGuiWindow* window = FindWindowByName(name);
|
ImGuiWindow* window = FindWindowByName(name);
|
||||||
if (!window)
|
if (!window)
|
||||||
|
{
|
||||||
window = CreateNewWindow(name, size, flags);
|
window = CreateNewWindow(name, size, flags);
|
||||||
|
window_is_new = true;
|
||||||
|
}
|
||||||
window->Flags = (ImGuiWindowFlags)flags;
|
window->Flags = (ImGuiWindowFlags)flags;
|
||||||
|
|
||||||
// Add to stack
|
// Add to stack
|
||||||
@ -2967,7 +2971,7 @@ bool ImGui::Begin(const char* name, bool* p_opened, const ImVec2& size, float bg
|
|||||||
window->ClipRectStack.resize(0);
|
window->ClipRectStack.resize(0);
|
||||||
|
|
||||||
// Reset contents size for auto-fitting
|
// Reset contents size for auto-fitting
|
||||||
window->SizeContents = window->DC.CursorMaxPos - window->Pos;
|
window->SizeContents = window_is_new ? ImVec2(0.0f, 0.0f) : window->DC.CursorMaxPos - window->Pos;
|
||||||
window->SizeContents.y += window->ScrollY;
|
window->SizeContents.y += window->ScrollY;
|
||||||
|
|
||||||
if (flags & ImGuiWindowFlags_ChildWindow)
|
if (flags & ImGuiWindowFlags_ChildWindow)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user