From 56a8047c4093c928b8551bbacda796382984512e Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 5 May 2022 20:05:35 +0800 Subject: ... --- src/platform/graphics/CMakeLists.txt | 1 + src/platform/graphics/Image.cpp | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/platform/graphics/Image.cpp (limited to 'src/platform/graphics') diff --git a/src/platform/graphics/CMakeLists.txt b/src/platform/graphics/CMakeLists.txt index 1d983188..dc0a429e 100644 --- a/src/platform/graphics/CMakeLists.txt +++ b/src/platform/graphics/CMakeLists.txt @@ -1,6 +1,7 @@ add_library(cru_platform_graphics SHARED ForDllExport.cpp Geometry.cpp + Image.cpp NullPainter.cpp ) target_compile_definitions(cru_platform_graphics PRIVATE CRU_PLATFORM_GRAPHICS_EXPORT_API) diff --git a/src/platform/graphics/Image.cpp b/src/platform/graphics/Image.cpp new file mode 100644 index 00000000..2c787dd7 --- /dev/null +++ b/src/platform/graphics/Image.cpp @@ -0,0 +1,15 @@ +#include "cru/platform/graphics/Image.h" + +#include "cru/platform/graphics/Factory.h" +#include "cru/platform/graphics/ImageFactory.h" +#include "cru/platform/graphics/Painter.h" + +namespace cru::platform::graphics { +std::unique_ptr IImage::CloneToBitmap() { + auto image = GetGraphicsFactory()->GetImageFactory()->CreateBitmap( + GetWidth(), GetHeight()); + auto painter = image->CreatePainter(); + painter->DrawImage(Point{}, this); + return image; +} +} // namespace cru::platform::graphics -- cgit v1.2.3