aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/svg/model/SkSVGCircle.h
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/svg/model/SkSVGCircle.h')
-rw-r--r--experimental/svg/model/SkSVGCircle.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/experimental/svg/model/SkSVGCircle.h b/experimental/svg/model/SkSVGCircle.h
index 02aaad4891..16ee54d280 100644
--- a/experimental/svg/model/SkSVGCircle.h
+++ b/experimental/svg/model/SkSVGCircle.h
@@ -11,6 +11,8 @@
#include "SkSVGShape.h"
#include "SkSVGTypes.h"
+struct SkPoint;
+
class SkSVGCircle final : public SkSVGShape {
public:
virtual ~SkSVGCircle() = default;
@@ -26,9 +28,14 @@ protected:
void onDraw(SkCanvas*, const SkSVGLengthContext&, const SkPaint&,
SkPath::FillType) const override;
+ SkPath onAsPath(const SkSVGRenderContext&) const override;
+
private:
SkSVGCircle();
+ // resolve and return the center and radius values
+ std::tuple<SkPoint, SkScalar> resolve(const SkSVGLengthContext&) const;
+
SkSVGLength fCx = SkSVGLength(0);
SkSVGLength fCy = SkSVGLength(0);
SkSVGLength fR = SkSVGLength(0);