diff options
author | Florin Malita <fmalita@chromium.org> | 2016-12-08 09:26:47 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-12-08 15:00:18 +0000 |
commit | ce8840e3842f3a702c5d7bf440ff730bdfaf8e70 (patch) | |
tree | 0a94cdeb3d2d8632644490b70fdb0c40d185b8ec /experimental/svg/model/SkSVGTypes.h | |
parent | c5a8366d9922902cffbd351fdd15755dd2ac99bf (diff) |
[SVGDom] ClipPath support
* clip-path attribute handling
* clipPath container element
* asPath() SkSVGNode virtual for capturing subtree geometry
R=robertphillips@google.com,stephana@google.com
Change-Id: I9597534fe3047b631da6309eafac055dff5696e9
Reviewed-on: https://skia-review.googlesource.com/5650
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'experimental/svg/model/SkSVGTypes.h')
-rw-r--r-- | experimental/svg/model/SkSVGTypes.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/experimental/svg/model/SkSVGTypes.h b/experimental/svg/model/SkSVGTypes.h index d5d2b7146f..42a09b93b5 100644 --- a/experimental/svg/model/SkSVGTypes.h +++ b/experimental/svg/model/SkSVGTypes.h @@ -119,6 +119,34 @@ private: SkString fIRI; }; +class SkSVGClip { +public: + enum class Type { + kNone, + kInherit, + kIRI, + }; + + SkSVGClip() : fType(Type::kNone) {} + explicit SkSVGClip(Type t) : fType(t) {} + explicit SkSVGClip(const SkString& iri) : fType(Type::kIRI), fIRI(iri) {} + + SkSVGClip(const SkSVGClip&) = default; + SkSVGClip& operator=(const SkSVGClip&) = default; + + bool operator==(const SkSVGClip& other) const { + return fType == other.fType && fIRI == other.fIRI; + } + bool operator!=(const SkSVGClip& other) const { return !(*this == other); } + + Type type() const { return fType; } + const SkString& iri() const { SkASSERT(fType == Type::kIRI); return fIRI; } + +private: + Type fType; + SkString fIRI; +}; + class SkSVGLineCap { public: enum class Type { |