aboutsummaryrefslogtreecommitdiff
path: root/src/osx/graphics/quartz/Image.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-05-15 14:08:06 +0800
committercrupest <crupest@outlook.com>2022-05-15 14:08:06 +0800
commit8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6 (patch)
tree77e41cc14264060517c0f7ed95837012afb8342e /src/osx/graphics/quartz/Image.cpp
parent9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752 (diff)
downloadcru-8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6.tar.gz
cru-8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6.tar.bz2
cru-8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6.zip
...
Diffstat (limited to 'src/osx/graphics/quartz/Image.cpp')
-rw-r--r--src/osx/graphics/quartz/Image.cpp58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/osx/graphics/quartz/Image.cpp b/src/osx/graphics/quartz/Image.cpp
deleted file mode 100644
index 28087000..00000000
--- a/src/osx/graphics/quartz/Image.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "cru/osx/graphics/quartz/Image.h"
-#include "cru/common/Exception.h"
-#include "cru/osx/graphics/quartz/Convert.h"
-#include "cru/osx/graphics/quartz/Painter.h"
-
-namespace cru::platform::graphics::osx::quartz {
-QuartzImage::QuartzImage(IGraphicsFactory* graphics_factory,
- IImageFactory* image_factory, CGImageRef image,
- bool auto_release, unsigned char* buffer)
- : OsxQuartzResource(graphics_factory),
- image_factory_(image_factory),
- image_(image),
- auto_release_(auto_release),
- buffer_(buffer) {
- Expects(image);
-}
-
-QuartzImage::~QuartzImage() {
- if (auto_release_) {
- CGImageRelease(image_);
- }
-}
-
-float QuartzImage::GetWidth() { return CGImageGetWidth(image_); }
-
-float QuartzImage::GetHeight() { return CGImageGetHeight(image_); }
-
-std::unique_ptr<IImage> QuartzImage::CreateWithRect(const Rect& rect) {
- auto new_cg_image = CGImageCreateWithImageInRect(image_, Convert(rect));
-
- return std::make_unique<QuartzImage>(GetGraphicsFactory(), image_factory_,
- new_cg_image, true);
-}
-
-std::unique_ptr<IPainter> QuartzImage::CreatePainter() {
- if (!buffer_)
- throw Exception(
- u"Failed to create painter for image because failed to get its "
- u"buffer.");
-
- auto width = CGImageGetWidth(image_);
- auto height = CGImageGetHeight(image_);
- auto bits_per_component = CGImageGetBitsPerComponent(image_);
- auto bytes_per_row = CGImageGetBytesPerRow(image_);
- auto color_space = CGImageGetColorSpace(image_);
- auto bitmap_info = CGImageGetBitmapInfo(image_);
-
- auto cg_context =
- CGBitmapContextCreate(buffer_, width, height, bits_per_component,
- bytes_per_row, color_space, bitmap_info);
-
- return std::make_unique<QuartzCGContextPainter>(
- GetGraphicsFactory(), cg_context, true, Size(width, height),
- [](QuartzCGContextPainter* painter) {
-
- });
-}
-} // namespace cru::platform::graphics::osx::quartz