diff options
author | crupest <crupest@outlook.com> | 2022-05-05 20:05:35 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-05-05 20:05:35 +0800 |
commit | 56a8047c4093c928b8551bbacda796382984512e (patch) | |
tree | 8891fef971686184511af6b98d111f1b68c13fd0 /src/platform | |
parent | 7b4b334e777e573040569801d3b4ab28a606a127 (diff) | |
download | cru-56a8047c4093c928b8551bbacda796382984512e.tar.gz cru-56a8047c4093c928b8551bbacda796382984512e.tar.bz2 cru-56a8047c4093c928b8551bbacda796382984512e.zip |
...
Diffstat (limited to 'src/platform')
-rw-r--r-- | src/platform/graphics/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/platform/graphics/Image.cpp | 15 |
2 files changed, 16 insertions, 0 deletions
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> IImage::CloneToBitmap() { + auto image = GetGraphicsFactory()->GetImageFactory()->CreateBitmap( + GetWidth(), GetHeight()); + auto painter = image->CreatePainter(); + painter->DrawImage(Point{}, this); + return image; +} +} // namespace cru::platform::graphics |