|
@@ -4827,10 +4827,10 @@ static ImGuiWindow* CreateNewWindow(const char* name, ImVec2 size, ImGuiWindowFl
|
|
|
// Retrieve settings from .ini file
|
|
|
window->SettingsIdx = g.SettingsWindows.index_from_ptr(settings);
|
|
|
SetWindowConditionAllowFlags(window, ImGuiCond_FirstUseEver, false);
|
|
|
- window->Pos = ImFloor(settings->Pos);
|
|
|
+ window->Pos = ImVec2(settings->Pos.x, settings->Pos.y);
|
|
|
window->Collapsed = settings->Collapsed;
|
|
|
- if (ImLengthSqr(settings->Size) > 0.00001f)
|
|
|
- size = ImFloor(settings->Size);
|
|
|
+ if (settings->Size.x > 0 && settings->Size.y > 0)
|
|
|
+ size = ImVec2(settings->Size.x, settings->Size.y);
|
|
|
}
|
|
|
window->Size = window->SizeFull = ImFloor(size);
|
|
|
window->DC.CursorStartPos = window->DC.CursorMaxPos = window->Pos; // So first call to CalcContentSize() doesn't return crazy values
|
|
@@ -9447,14 +9447,13 @@ static void* SettingsHandlerWindow_ReadOpen(ImGuiContext*, ImGuiSettingsHandler*
|
|
|
return (void*)settings;
|
|
|
}
|
|
|
|
|
|
-static void SettingsHandlerWindow_ReadLine(ImGuiContext* ctx, ImGuiSettingsHandler*, void* entry, const char* line)
|
|
|
+static void SettingsHandlerWindow_ReadLine(ImGuiContext*, ImGuiSettingsHandler*, void* entry, const char* line)
|
|
|
{
|
|
|
- ImGuiContext& g = *ctx;
|
|
|
ImGuiWindowSettings* settings = (ImGuiWindowSettings*)entry;
|
|
|
- float x, y;
|
|
|
+ int x, y;
|
|
|
int i;
|
|
|
- if (sscanf(line, "Pos=%f,%f", &x, &y) == 2) settings->Pos = ImVec2(x, y);
|
|
|
- else if (sscanf(line, "Size=%f,%f", &x, &y) == 2) settings->Size = ImMax(ImVec2(x, y), g.Style.WindowMinSize);
|
|
|
+ if (sscanf(line, "Pos=%i,%i", &x, &y) == 2) settings->Pos = ImVec2ih((short)x, (short)y);
|
|
|
+ else if (sscanf(line, "Size=%i,%i", &x, &y) == 2) settings->Size = ImVec2ih((short)x, (short)y);
|
|
|
else if (sscanf(line, "Collapsed=%d", &i) == 1) settings->Collapsed = (i != 0);
|
|
|
}
|
|
|
|
|
@@ -9476,8 +9475,8 @@ static void SettingsHandlerWindow_WriteAll(ImGuiContext* ctx, ImGuiSettingsHandl
|
|
|
window->SettingsIdx = g.SettingsWindows.index_from_ptr(settings);
|
|
|
}
|
|
|
IM_ASSERT(settings->ID == window->ID);
|
|
|
- settings->Pos = window->Pos;
|
|
|
- settings->Size = window->SizeFull;
|
|
|
+ settings->Pos = ImVec2ih((short)window->Pos.x, (short)window->Pos.y);
|
|
|
+ settings->Size = ImVec2ih((short)window->SizeFull.x, (short)window->SizeFull.y);
|
|
|
settings->Collapsed = window->Collapsed;
|
|
|
}
|
|
|
|
|
@@ -9486,11 +9485,9 @@ static void SettingsHandlerWindow_WriteAll(ImGuiContext* ctx, ImGuiSettingsHandl
|
|
|
for (int i = 0; i != g.SettingsWindows.Size; i++)
|
|
|
{
|
|
|
const ImGuiWindowSettings* settings = &g.SettingsWindows[i];
|
|
|
- if (settings->Pos.x == FLT_MAX)
|
|
|
- continue;
|
|
|
buf->appendf("[%s][%s]\n", handler->TypeName, settings->Name);
|
|
|
- buf->appendf("Pos=%d,%d\n", (int)settings->Pos.x, (int)settings->Pos.y);
|
|
|
- buf->appendf("Size=%d,%d\n", (int)settings->Size.x, (int)settings->Size.y);
|
|
|
+ buf->appendf("Pos=%d,%d\n", settings->Pos.x, settings->Pos.y);
|
|
|
+ buf->appendf("Size=%d,%d\n", settings->Size.x, settings->Size.y);
|
|
|
buf->appendf("Collapsed=%d\n", settings->Collapsed);
|
|
|
buf->appendf("\n");
|
|
|
}
|