aboutsummaryrefslogtreecommitdiff
path: root/src/win/graphics/direct/Painter.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-02-01 18:49:55 +0800
committercrupest <crupest@outlook.com>2022-02-01 18:49:55 +0800
commitd1c14725443399f7145e314d79597ec35b639eeb (patch)
tree50c6743d6766cdc6fd04921d305380143b42d3dc /src/win/graphics/direct/Painter.cpp
parentb9a553d4acc15ec981636b30db537be280d593e5 (diff)
downloadcru-d1c14725443399f7145e314d79597ec35b639eeb.tar.gz
cru-d1c14725443399f7145e314d79597ec35b639eeb.tar.bz2
cru-d1c14725443399f7145e314d79597ec35b639eeb.zip
...
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();