diff options
author | fmalita <fmalita@chromium.org> | 2016-09-13 12:56:11 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-13 12:56:11 -0700 |
commit | cecd617a4297ffdcec632ca7e2ed1e6b61665e04 (patch) | |
tree | 48e32288114528e7085bf6aa0190653e7ad0bf99 /experimental/svg/model/SkSVGTypes.h | |
parent | 649985a530c39afcda23d1f188fa2fc92df3ac56 (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.h | 24 |
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 |