aboutsummaryrefslogtreecommitdiff
path: root/src/win/graphics/direct/Painter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/win/graphics/direct/Painter.cpp')
-rw-r--r--src/win/graphics/direct/Painter.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/win/graphics/direct/Painter.cpp b/src/win/graphics/direct/Painter.cpp
index 1a43d1d0..4af8a09a 100644
--- a/src/win/graphics/direct/Painter.cpp
+++ b/src/win/graphics/direct/Painter.cpp
@@ -5,6 +5,7 @@
#include "cru/win/graphics/direct/ConvertUtil.hpp"
#include "cru/win/graphics/direct/Exception.hpp"
#include "cru/win/graphics/direct/Geometry.hpp"
+#include "cru/win/graphics/direct/Image.hpp"
#include "cru/win/graphics/direct/TextLayout.hpp"
#include <type_traits>
@@ -101,6 +102,16 @@ void D2DPainter::DrawText(const Point& offset, ITextLayout* text_layout,
b->GetD2DBrushInterface());
}
+void D2DPainter::DrawImage(const Point& offset, IImage* image) {
+ CheckValidation();
+ const auto i = CheckPlatform<Direct2DImage>(image, GetPlatformId());
+
+ ID2D1DeviceContext* device_context;
+
+ render_target_->QueryInterface(&device_context);
+ device_context->DrawImage(i->GetD2DImage(), Convert(offset));
+}
+
void D2DPainter::PushLayer(const Rect& bounds) {
CheckValidation();