aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-03-02 19:33:18 +0800
committercrupest <crupest@outlook.com>2022-03-02 19:33:18 +0800
commit3e11b954a73d4718750b130abd6f511e624ffce7 (patch)
tree5513f49ff345ff8a33df63371e35352efa6af864 /include
parenta310733b429a99aff14d840f6de663a685917d00 (diff)
downloadcru-3e11b954a73d4718750b130abd6f511e624ffce7.tar.gz
cru-3e11b954a73d4718750b130abd6f511e624ffce7.tar.bz2
cru-3e11b954a73d4718750b130abd6f511e624ffce7.zip
...
Diffstat (limited to 'include')
-rw-r--r--include/cru/osx/graphics/quartz/Geometry.h4
-rw-r--r--include/cru/platform/graphics/Geometry.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/include/cru/osx/graphics/quartz/Geometry.h b/include/cru/osx/graphics/quartz/Geometry.h
index a6ee7470..e0bdd5b6 100644
--- a/include/cru/osx/graphics/quartz/Geometry.h
+++ b/include/cru/osx/graphics/quartz/Geometry.h
@@ -19,6 +19,10 @@ class QuartzGeometry : public OsxQuartzResource, public virtual IGeometry {
CGPathRef GetCGPath() const { return cg_path_; }
bool FillContains(const Point &point) override;
+ Rect GetBounds() override;
+
+ std::unique_ptr<IGeometry> Transform(const Matrix &matrix) override;
+ std::unique_ptr<IGeometry> CreateStrokeGeometry(float width) override;
private:
CGPathRef cg_path_;
diff --git a/include/cru/platform/graphics/Geometry.h b/include/cru/platform/graphics/Geometry.h
index a4146008..1c2bd1f7 100644
--- a/include/cru/platform/graphics/Geometry.h
+++ b/include/cru/platform/graphics/Geometry.h
@@ -4,6 +4,9 @@
namespace cru::platform::graphics {
struct CRU_PLATFORM_GRAPHICS_API IGeometry : virtual IGraphicsResource {
virtual bool FillContains(const Point& point) = 0;
+ virtual Rect GetBounds() = 0;
+ virtual std::unique_ptr<IGeometry> Transform(const Matrix& matrix) = 0;
+ virtual std::unique_ptr<IGeometry> CreateStrokeGeometry(float width) = 0;
};
struct CRU_PLATFORM_GRAPHICS_API IGeometryBuilder : virtual IGraphicsResource {