aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/skotty/SkottyProperties.h
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/skotty/SkottyProperties.h')
-rw-r--r--experimental/skotty/SkottyProperties.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/experimental/skotty/SkottyProperties.h b/experimental/skotty/SkottyProperties.h
index 6147dd4d63..8730f61352 100644
--- a/experimental/skotty/SkottyProperties.h
+++ b/experimental/skotty/SkottyProperties.h
@@ -21,6 +21,7 @@
class SkPath;
namespace sksg {
+class Path;
class RRect;
class RenderNode;
class Transform;
@@ -111,6 +112,31 @@ private:
using INHERITED = SkRefCnt;
};
+class CompositePolyStar final : public SkRefCnt {
+public:
+ enum class Type {
+ kStar, kPoly,
+ };
+
+ CompositePolyStar(sk_sp<sksg::Path>, Type);
+
+ COMPOSITE_PROPERTY(Position , SkPoint , SkPoint::Make(0, 0))
+ COMPOSITE_PROPERTY(PointCount , SkScalar, 0)
+ COMPOSITE_PROPERTY(InnerRadius , SkScalar, 0)
+ COMPOSITE_PROPERTY(OuterRadius , SkScalar, 0)
+ COMPOSITE_PROPERTY(InnerRoundness, SkScalar, 0)
+ COMPOSITE_PROPERTY(OuterRoundness, SkScalar, 0)
+ COMPOSITE_PROPERTY(Rotation , SkScalar, 0)
+
+private:
+ void apply();
+
+ sk_sp<sksg::Path> fPathNode;
+ Type fType;
+
+ using INHERITED = SkRefCnt;
+};
+
class CompositeTransform final : public SkRefCnt {
public:
explicit CompositeTransform(sk_sp<sksg::RenderNode>);