aboutsummaryrefslogtreecommitdiff
path: root/src/platform/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/graphics')
-rw-r--r--src/platform/graphics/cairo/CMakeLists.txt1
-rw-r--r--src/platform/graphics/cairo/CairoImageFactory.cpp27
2 files changed, 28 insertions, 0 deletions
diff --git a/src/platform/graphics/cairo/CMakeLists.txt b/src/platform/graphics/cairo/CMakeLists.txt
index ec8005d3..3e12b604 100644
--- a/src/platform/graphics/cairo/CMakeLists.txt
+++ b/src/platform/graphics/cairo/CMakeLists.txt
@@ -20,6 +20,7 @@ if (UNIX)
CairoGeometry.cpp
CairoGraphicsFactory.cpp
CairoImage.cpp
+ CairoImageFactory.cpp
CairoPainter.cpp
CairoResource.cpp
PangoFont.cpp
diff --git a/src/platform/graphics/cairo/CairoImageFactory.cpp b/src/platform/graphics/cairo/CairoImageFactory.cpp
new file mode 100644
index 00000000..74275c45
--- /dev/null
+++ b/src/platform/graphics/cairo/CairoImageFactory.cpp
@@ -0,0 +1,27 @@
+#include "cru/platform/graphics/cairo/CairoImageFactory.h"
+#include <memory>
+#include "cru/common/Exception.h"
+#include "cru/platform/graphics/cairo/CairoImage.h"
+#include "cru/platform/graphics/cairo/CairoResource.h"
+
+namespace cru::platform::graphics::cairo {
+CairoImageFactory::CairoImageFactory(CairoGraphicsFactory* factory)
+ : CairoResource(factory) {}
+
+CairoImageFactory::~CairoImageFactory() {}
+
+std::unique_ptr<IImage> CairoImageFactory::DecodeFromStream(
+ io::Stream* stream) {
+ throw Exception(u"Not implemented.");
+}
+
+void CairoImageFactory::EncodeToStream(IImage* image, io::Stream* stream,
+ ImageFormat format, float quality) {
+ throw Exception(u"Not implemented.");
+}
+
+std::unique_ptr<IImage> CairoImageFactory::CreateBitmap(int width, int height) {
+ return std::make_unique<CairoImage>(GetCairoGraphicsFactory(), width, height);
+}
+
+} // namespace cru::platform::graphics::cairo