mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-26 13:37:00 +00:00
Internals: Window: Aggregating ImDrawList into the ImGuiWindow structure.
This commit is contained in:
parent
84fe711bdf
commit
bfc0efaae9
@ -1918,6 +1918,7 @@ bool ImGuiListClipper::Step()
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
ImGuiWindow::ImGuiWindow(ImGuiContext* context, const char* name)
|
ImGuiWindow::ImGuiWindow(ImGuiContext* context, const char* name)
|
||||||
|
: DrawListInst(&context->DrawListSharedData)
|
||||||
{
|
{
|
||||||
Name = ImStrdup(name);
|
Name = ImStrdup(name);
|
||||||
ID = ImHash(name, 0);
|
ID = ImHash(name, 0);
|
||||||
@ -1959,7 +1960,7 @@ ImGuiWindow::ImGuiWindow(ImGuiContext* context, const char* name)
|
|||||||
ItemWidthDefault = 0.0f;
|
ItemWidthDefault = 0.0f;
|
||||||
FontWindowScale = 1.0f;
|
FontWindowScale = 1.0f;
|
||||||
|
|
||||||
DrawList = IM_NEW(ImDrawList)(&context->DrawListSharedData);
|
DrawList = &DrawListInst;
|
||||||
DrawList->_OwnerName = Name;
|
DrawList->_OwnerName = Name;
|
||||||
ParentWindow = NULL;
|
ParentWindow = NULL;
|
||||||
RootWindow = NULL;
|
RootWindow = NULL;
|
||||||
@ -1978,7 +1979,7 @@ ImGuiWindow::ImGuiWindow(ImGuiContext* context, const char* name)
|
|||||||
|
|
||||||
ImGuiWindow::~ImGuiWindow()
|
ImGuiWindow::~ImGuiWindow()
|
||||||
{
|
{
|
||||||
IM_DELETE(DrawList);
|
IM_ASSERT(DrawList == &DrawListInst);
|
||||||
IM_DELETE(Name);
|
IM_DELETE(Name);
|
||||||
for (int i = 0; i != ColumnsStorage.Size; i++)
|
for (int i = 0; i != ColumnsStorage.Size; i++)
|
||||||
ColumnsStorage[i].~ImGuiColumnsSet();
|
ColumnsStorage[i].~ImGuiColumnsSet();
|
||||||
|
@ -943,7 +943,8 @@ struct IMGUI_API ImGuiWindow
|
|||||||
ImGuiStorage StateStorage;
|
ImGuiStorage StateStorage;
|
||||||
ImVector<ImGuiColumnsSet> ColumnsStorage;
|
ImVector<ImGuiColumnsSet> ColumnsStorage;
|
||||||
float FontWindowScale; // Scale multiplier per-window
|
float FontWindowScale; // Scale multiplier per-window
|
||||||
ImDrawList* DrawList;
|
ImDrawList* DrawList; // == &DrawListInst (for backward compatibility reason with code using imgui_internal.h we keep this a pointer)
|
||||||
|
ImDrawList DrawListInst;
|
||||||
ImGuiWindow* ParentWindow; // If we are a child _or_ popup window, this is pointing to our parent. Otherwise NULL.
|
ImGuiWindow* ParentWindow; // If we are a child _or_ popup window, this is pointing to our parent. Otherwise NULL.
|
||||||
ImGuiWindow* RootWindow; // Point to ourself or first ancestor that is not a child window.
|
ImGuiWindow* RootWindow; // Point to ourself or first ancestor that is not a child window.
|
||||||
ImGuiWindow* RootWindowForTitleBarHighlight; // Point to ourself or first ancestor which will display TitleBgActive color when this window is active.
|
ImGuiWindow* RootWindowForTitleBarHighlight; // Point to ourself or first ancestor which will display TitleBgActive color when this window is active.
|
||||||
|
Loading…
Reference in New Issue
Block a user