aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/platform/graphics')
-rw-r--r--include/cru/platform/graphics/Base.hpp3
-rw-r--r--include/cru/platform/graphics/NullPainter.hpp8
-rw-r--r--include/cru/platform/graphics/Painter.hpp2
3 files changed, 11 insertions, 2 deletions
diff --git a/include/cru/platform/graphics/Base.hpp b/include/cru/platform/graphics/Base.hpp
index 3a18e39d..416f0df4 100644
--- a/include/cru/platform/graphics/Base.hpp
+++ b/include/cru/platform/graphics/Base.hpp
@@ -16,7 +16,6 @@
#define CRU_PLATFORM_GRAPHICS_API
#endif
-
namespace cru::platform::graphics {
// forward declarations
struct IGraphicsFactory;
@@ -25,6 +24,8 @@ struct ISolidColorBrush;
struct IFont;
struct IGeometry;
struct IGeometryBuilder;
+struct IImage;
+struct IImageFactory;
struct IPainter;
struct ITextLayout;
diff --git a/include/cru/platform/graphics/NullPainter.hpp b/include/cru/platform/graphics/NullPainter.hpp
index b5c796d3..a47546b6 100644
--- a/include/cru/platform/graphics/NullPainter.hpp
+++ b/include/cru/platform/graphics/NullPainter.hpp
@@ -3,7 +3,8 @@
#include "cru/common/Base.hpp"
namespace cru::platform::graphics {
-class CRU_PLATFORM_GRAPHICS_API NullPainter : public Object, public virtual IPainter {
+class CRU_PLATFORM_GRAPHICS_API NullPainter : public Object,
+ public virtual IPainter {
public:
NullPainter() = default;
@@ -65,6 +66,11 @@ class CRU_PLATFORM_GRAPHICS_API NullPainter : public Object, public virtual IPai
CRU_UNUSED(brush)
}
+ void DrawImage(const Rect& rect, IImage* image) override {
+ CRU_UNUSED(rect)
+ CRU_UNUSED(image)
+ }
+
void PushLayer(const Rect& bounds) override { CRU_UNUSED(bounds) }
void PopLayer() override {}
diff --git a/include/cru/platform/graphics/Painter.hpp b/include/cru/platform/graphics/Painter.hpp
index 4104a752..eb5bf8e1 100644
--- a/include/cru/platform/graphics/Painter.hpp
+++ b/include/cru/platform/graphics/Painter.hpp
@@ -27,6 +27,8 @@ struct CRU_PLATFORM_GRAPHICS_API IPainter : virtual IPlatformResource {
virtual void DrawText(const Point& offset, ITextLayout* text_layout,
IBrush* brush) = 0;
+ virtual void DrawImage(const Rect& rect, IImage* image) = 0;
+
virtual void PushLayer(const Rect& bounds) = 0;
virtual void PopLayer() = 0;