diff options
-rw-r--r-- | tools/viewer/sk_app/win/Window_win.cpp | 19 | ||||
-rw-r--r-- | tools/viewer/sk_app/win/Window_win.h | 2 |
2 files changed, 19 insertions, 2 deletions
diff --git a/tools/viewer/sk_app/win/Window_win.cpp b/tools/viewer/sk_app/win/Window_win.cpp index d603a1439d..9614d71c21 100644 --- a/tools/viewer/sk_app/win/Window_win.cpp +++ b/tools/viewer/sk_app/win/Window_win.cpp @@ -19,6 +19,11 @@ namespace sk_app { +static int gWindowX = CW_USEDEFAULT; +static int gWindowY = 0; +static int gWindowWidth = CW_USEDEFAULT; +static int gWindowHeight = 0; + Window* Window::CreateNativeWindow(void* platformData) { HINSTANCE hInstance = (HINSTANCE)platformData; @@ -31,6 +36,17 @@ Window* Window::CreateNativeWindow(void* platformData) { return window; } +Window_win::~Window_win() { + RECT r; + if (GetWindowRect(fHWnd, &r)) { + gWindowX = r.left; + gWindowY = r.top; + gWindowWidth = r.right - r.left; + gWindowHeight = r.bottom - r.top; + } + DestroyWindow(fHWnd); +} + LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); @@ -85,7 +101,8 @@ bool Window_win::init(HINSTANCE hInstance) { // gIsFullscreen = fullscreen; fHWnd = CreateWindow(gSZWindowClass, nullptr, WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, fHInstance, nullptr); + gWindowX, gWindowY, gWindowWidth, gWindowHeight, + nullptr, nullptr, fHInstance, nullptr); if (!fHWnd) { return false; diff --git a/tools/viewer/sk_app/win/Window_win.h b/tools/viewer/sk_app/win/Window_win.h index 0c51304a81..6d2279393a 100644 --- a/tools/viewer/sk_app/win/Window_win.h +++ b/tools/viewer/sk_app/win/Window_win.h @@ -16,7 +16,7 @@ namespace sk_app { class Window_win : public Window { public: Window_win() : Window() {} - ~Window_win() override { DestroyWindow(fHWnd); } + ~Window_win() override; bool init(HINSTANCE instance); |