diff options
Diffstat (limited to 'experimental/svg/model/SkSVGNode.h')
-rw-r--r-- | experimental/svg/model/SkSVGNode.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/experimental/svg/model/SkSVGNode.h b/experimental/svg/model/SkSVGNode.h index c02fd3a214..dcdb58958a 100644 --- a/experimental/svg/model/SkSVGNode.h +++ b/experimental/svg/model/SkSVGNode.h @@ -13,18 +13,22 @@ class SkCanvas; class SkMatrix; +class SkPaint; class SkSVGRenderContext; class SkSVGValue; enum class SkSVGTag { kCircle, + kDefs, kEllipse, kG, kLine, + kLinearGradient, kPath, kPolygon, kPolyline, kRect, + kStop, kSvg }; @@ -37,6 +41,7 @@ public: virtual void appendChild(sk_sp<SkSVGNode>) = 0; void render(const SkSVGRenderContext&) const; + bool asPaint(const SkSVGRenderContext&, SkPaint*) const; void setAttribute(SkSVGAttribute, const SkSVGValue&); @@ -60,6 +65,8 @@ protected: virtual void onRender(const SkSVGRenderContext&) const = 0; + virtual bool onAsPaint(const SkSVGRenderContext&, SkPaint*) const { return false; } + virtual void onSetAttribute(SkSVGAttribute, const SkSVGValue&); private: |