aboutsummaryrefslogtreecommitdiff
path: root/include/cru
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-10-26 16:07:53 +0800
committercrupest <crupest@outlook.com>2021-10-26 16:07:53 +0800
commit397843cda9e4161d3e92d8797f8012f478ce64f0 (patch)
treec04b1600fb60e5aca9e19ab21c2a52efedbc2bad /include/cru
parenta4dafa3e2918f2cc28657145e6b0afe7bcf1ca7b (diff)
downloadcru-397843cda9e4161d3e92d8797f8012f478ce64f0.tar.gz
cru-397843cda9e4161d3e92d8797f8012f478ce64f0.tar.bz2
cru-397843cda9e4161d3e92d8797f8012f478ce64f0.zip
...
Diffstat (limited to 'include/cru')
-rw-r--r--include/cru/osx/graphics/quartz/Painter.hpp6
-rw-r--r--include/cru/platform/graphics/Painter.hpp4
2 files changed, 10 insertions, 0 deletions
diff --git a/include/cru/osx/graphics/quartz/Painter.hpp b/include/cru/osx/graphics/quartz/Painter.hpp
index e9b3365d..0889d413 100644
--- a/include/cru/osx/graphics/quartz/Painter.hpp
+++ b/include/cru/osx/graphics/quartz/Painter.hpp
@@ -38,6 +38,10 @@ class QuartzCGContextPainter : public OsxQuartzResource,
void StrokeRectangle(const Rect& rectangle, IBrush* brush,
float width) override;
void FillRectangle(const Rect& rectangle, IBrush* brush) override;
+ void StrokeEllipse(const Rect& outline_rect, IBrush* brush,
+ float width) override;
+ void FillEllipse(const Rect& outline_rect, IBrush* brush,
+ float width) override;
void StrokeGeometry(IGeometry* geometry, IBrush* brush, float width) override;
void FillGeometry(IGeometry* geometry, IBrush* brush) override;
@@ -56,6 +60,8 @@ class QuartzCGContextPainter : public OsxQuartzResource,
void PopState() override;
private:
+ void SetLineWidth(float width);
+
void DoEndDraw();
void Validate();
diff --git a/include/cru/platform/graphics/Painter.hpp b/include/cru/platform/graphics/Painter.hpp
index 9bde0640..4f1724ec 100644
--- a/include/cru/platform/graphics/Painter.hpp
+++ b/include/cru/platform/graphics/Painter.hpp
@@ -16,6 +16,10 @@ struct IPainter : virtual IPlatformResource {
virtual void StrokeRectangle(const Rect& rectangle, IBrush* brush,
float width) = 0;
virtual void FillRectangle(const Rect& rectangle, IBrush* brush) = 0;
+ virtual void StrokeEllipse(const Rect& outline_rect, IBrush* brush,
+ float width) = 0;
+ virtual void FillEllipse(const Rect& outline_rect, IBrush* brush,
+ float width) = 0;
virtual void StrokeGeometry(IGeometry* geometry, IBrush* brush,
float width) = 0;