aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/svg/model/SkSVGTypes.h
diff options
context:
space:
mode:
authorGravatar fmalita <fmalita@chromium.org>2016-09-13 12:56:11 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-09-13 12:56:11 -0700
commitcecd617a4297ffdcec632ca7e2ed1e6b61665e04 (patch)
tree48e32288114528e7085bf6aa0190653e7ad0bf99 /experimental/svg/model/SkSVGTypes.h
parent649985a530c39afcda23d1f188fa2fc92df3ac56 (diff)
[SVGDom] Linear gradient 'spreadMethod' support
R=stephana@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2337203002 Review-Url: https://codereview.chromium.org/2337203002
Diffstat (limited to 'experimental/svg/model/SkSVGTypes.h')
-rw-r--r--experimental/svg/model/SkSVGTypes.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/experimental/svg/model/SkSVGTypes.h b/experimental/svg/model/SkSVGTypes.h
index b2343a15e4..b07f9a2c8c 100644
--- a/experimental/svg/model/SkSVGTypes.h
+++ b/experimental/svg/model/SkSVGTypes.h
@@ -167,4 +167,28 @@ private:
Type fType;
};
+class SkSVGSpreadMethod {
+public:
+ // These values must match Skia's SkShader::TileMode enum.
+ enum class Type {
+ kPad, // kClamp_TileMode
+ kRepeat, // kRepeat_TileMode
+ kReflect, // kMirror_TileMode
+ };
+
+ constexpr SkSVGSpreadMethod() : fType(Type::kPad) {}
+ constexpr explicit SkSVGSpreadMethod(Type t) : fType(t) {}
+
+ SkSVGSpreadMethod(const SkSVGSpreadMethod&) = default;
+ SkSVGSpreadMethod& operator=(const SkSVGSpreadMethod&) = default;
+
+ bool operator==(const SkSVGSpreadMethod& other) const { return fType == other.fType; }
+ bool operator!=(const SkSVGSpreadMethod& other) const { return !(*this == other); }
+
+ Type type() const { return fType; }
+
+private:
+ Type fType;
+};
+
#endif // SkSVGTypes_DEFINED