From ab63f82a383804fe1787c0daf2b5d98512fa7398 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 12 Jan 2022 23:01:40 +0800 Subject: ... --- include/cru/win/gui/Window.hpp | 4 ++-- src/win/gui/Window.cpp | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/cru/win/gui/Window.hpp b/include/cru/win/gui/Window.hpp index 7a982da7..41eac5fa 100644 --- a/include/cru/win/gui/Window.hpp +++ b/include/cru/win/gui/Window.hpp @@ -173,8 +173,8 @@ class WinNativeWindow : public WinNativeResource, public virtual INativeWindow { WinUiApplication* application_; WindowStyleFlag style_flag_{}; - WindowVisibilityType visibility_{}; - Rect client_rect_; + WindowVisibilityType visibility_ = WindowVisibilityType::Hide; + Rect client_rect_{100, 100, 400, 300}; HWND hwnd_ = nullptr; WinNativeWindow* parent_window_ = nullptr; diff --git a/src/win/gui/Window.cpp b/src/win/gui/Window.cpp index 827cc0a8..7ee2fb71 100644 --- a/src/win/gui/Window.cpp +++ b/src/win/gui/Window.cpp @@ -3,6 +3,7 @@ #include "WindowManager.hpp" #include "cru/common/Logger.hpp" #include "cru/platform/Check.hpp" +#include "cru/platform/graphics/NullPainter.hpp" #include "cru/platform/gui/Base.hpp" #include "cru/platform/gui/DebugFlags.hpp" #include "cru/platform/gui/Window.hpp" @@ -16,6 +17,7 @@ #include #include +#include namespace cru::platform::gui::win { namespace { @@ -76,7 +78,7 @@ void WinNativeWindow::Close() { if (hwnd_) ::DestroyWindow(hwnd_); } -void WinNativeWindow::SetParent(INativeWindow *parent) { +void WinNativeWindow::SetParent(INativeWindow* parent) { auto p = CheckPlatform(parent, GetPlatformId()); parent_window_ = p; @@ -204,8 +206,11 @@ void WinNativeWindow::RequestRepaint() { } std::unique_ptr WinNativeWindow::BeginPaint() { - return std::make_unique( - window_render_target_.get()); + if (hwnd_) + return std::make_unique( + window_render_target_.get()); + else + return std::make_unique(); } void WinNativeWindow::SetCursor(std::shared_ptr cursor) { -- cgit v1.2.3