diff options
Diffstat (limited to 'src/win/graphics/direct/Painter.cpp')
-rw-r--r-- | src/win/graphics/direct/Painter.cpp | 11 |
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(); |