aboutsummaryrefslogtreecommitdiff
path: root/src/win/native/window_painter.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-04-19 23:20:09 +0800
committercrupest <crupest@outlook.com>2019-04-19 23:20:09 +0800
commitea87825d58ab5b58dd360c3f080518c07a865db0 (patch)
tree4b497ef3687d682368e0fde4b86293565583a63a /src/win/native/window_painter.cpp
parent7351020a582d70a1495249fba87d342c8a1fb634 (diff)
downloadcru-ea87825d58ab5b58dd360c3f080518c07a865db0.tar.gz
cru-ea87825d58ab5b58dd360c3f080518c07a865db0.tar.bz2
cru-ea87825d58ab5b58dd360c3f080518c07a865db0.zip
...
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