aboutsummaryrefslogtreecommitdiff
path: root/include/cru/osx/graphics/quartz
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-05-07 20:53:57 +0800
committerGitHub <noreply@github.com>2022-05-07 20:53:57 +0800
commitee5aa17e44cb36b386e89032cab96caf87b5b524 (patch)
treea7cef6c60f55e3870900016e0f1a4efe578efbf0 /include/cru/osx/graphics/quartz
parent5bc684dcc1d121bf6e02d0800174c7977c72d101 (diff)
parentcb850a6d6d13fc5b2c0cdd8773e368e23252c459 (diff)
downloadcru-ee5aa17e44cb36b386e89032cab96caf87b5b524.tar.gz
cru-ee5aa17e44cb36b386e89032cab96caf87b5b524.tar.bz2
cru-ee5aa17e44cb36b386e89032cab96caf87b5b524.zip
Merge pull request #54 from crupest/create-image
Diffstat (limited to 'include/cru/osx/graphics/quartz')
-rw-r--r--include/cru/osx/graphics/quartz/Image.h7
-rw-r--r--include/cru/osx/graphics/quartz/ImageFactory.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/include/cru/osx/graphics/quartz/Image.h b/include/cru/osx/graphics/quartz/Image.h
index 458f5db0..5b3aead9 100644
--- a/include/cru/osx/graphics/quartz/Image.h
+++ b/include/cru/osx/graphics/quartz/Image.h
@@ -9,7 +9,8 @@ namespace cru::platform::graphics::osx::quartz {
class QuartzImage : public OsxQuartzResource, public virtual IImage {
public:
QuartzImage(IGraphicsFactory* graphics_factory, IImageFactory* image_factory,
- CGImageRef image, bool auto_release);
+ CGImageRef image, bool auto_release,
+ unsigned char* buffer = nullptr);
CRU_DELETE_COPY(QuartzImage)
CRU_DELETE_MOVE(QuartzImage)
@@ -22,11 +23,15 @@ class QuartzImage : public OsxQuartzResource, public virtual IImage {
std::unique_ptr<IImage> CreateWithRect(const Rect& rect) override;
+ std::unique_ptr<IPainter> CreatePainter() override;
+
CGImageRef GetCGImage() const { return image_; }
private:
IImageFactory* image_factory_;
CGImageRef image_;
bool auto_release_ = false;
+
+ unsigned char* buffer_;
};
} // namespace cru::platform::graphics::osx::quartz
diff --git a/include/cru/osx/graphics/quartz/ImageFactory.h b/include/cru/osx/graphics/quartz/ImageFactory.h
index e9854738..19e9c8c1 100644
--- a/include/cru/osx/graphics/quartz/ImageFactory.h
+++ b/include/cru/osx/graphics/quartz/ImageFactory.h
@@ -15,5 +15,6 @@ class QuartzImageFactory : public OsxQuartzResource,
public:
std::unique_ptr<IImage> DecodeFromStream(io::Stream* stream) override;
+ std::unique_ptr<IImage> CreateBitmap(int width, int height) override;
};
} // namespace cru::platform::graphics::osx::quartz