aboutsummaryrefslogtreecommitdiff
path: root/src/win/native/window_painter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/win/native/window_painter.cpp')
-rw-r--r--src/win/native/window_painter.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/win/native/window_painter.cpp b/src/win/native/window_painter.cpp
index 46364cdd..4e98a7fd 100644
--- a/src/win/native/window_painter.cpp
+++ b/src/win/native/window_painter.cpp
@@ -1,5 +1,6 @@
#include "window_painter.hpp"
+#include "cru/win/exception.hpp"
#include "cru/win/graph/graph_manager.hpp"
#include "cru/win/native/window_render_target.hpp"
@@ -7,7 +8,7 @@
namespace cru::win::native {
WindowPainter::WindowPainter(WinNativeWindow* window)
- : WinPainter(window->GetWindowRenderTarget()
+ : D2DPainter(window->GetWindowRenderTarget()
->GetGraphManager()
->GetD2D1DeviceContext()),
window_(window) {
@@ -18,7 +19,13 @@ WindowPainter::WindowPainter(WinNativeWindow* window)
->BeginDraw();
}
+WindowPainter::~WindowPainter() { EndDraw(); }
+
void WindowPainter::DoEndDraw() {
- WinPainter::DoEndDraw();
- window_->GetWindowRenderTarget()->Present(); }
+ ThrowIfFailed(window_->GetWindowRenderTarget()
+ ->GetGraphManager()
+ ->GetD2D1DeviceContext()
+ ->EndDraw());
+ window_->GetWindowRenderTarget()->Present();
+}
} // namespace cru::win::native