| Index: experimental/svg/model/SkSVGTypes.h
|
| diff --git a/experimental/svg/model/SkSVGTypes.h b/experimental/svg/model/SkSVGTypes.h
|
| index 18ec3ce3cf753ace5a1aa39317dd26a0e93c5ec9..b2343a15e4ea996b49879c89b0775f329efddb27 100644
|
| --- a/experimental/svg/model/SkSVGTypes.h
|
| +++ b/experimental/svg/model/SkSVGTypes.h
|
| @@ -13,6 +13,7 @@
|
| #include "SkPoint.h"
|
| #include "SkRect.h"
|
| #include "SkScalar.h"
|
| +#include "SkString.h"
|
| #include "SkTDArray.h"
|
| #include "SkTypes.h"
|
|
|
| @@ -42,6 +43,7 @@ private:
|
|
|
| using SkSVGColorType = SkSVGPrimitiveTypeWrapper<SkColor >;
|
| using SkSVGNumberType = SkSVGPrimitiveTypeWrapper<SkScalar>;
|
| +using SkSVGStringType = SkSVGPrimitiveTypeWrapper<SkString>;
|
| using SkSVGViewBoxType = SkSVGPrimitiveTypeWrapper<SkRect >;
|
| using SkSVGTransformType = SkSVGPrimitiveTypeWrapper<SkMatrix>;
|
| using SkSVGPointsType = SkSVGPrimitiveTypeWrapper<SkTDArray<SkPoint>>;
|
| @@ -88,27 +90,33 @@ public:
|
| kCurrentColor,
|
| kColor,
|
| kInherit,
|
| + kIRI,
|
| };
|
|
|
| - constexpr SkSVGPaint() : fType(Type::kInherit), fColor(SK_ColorBLACK) {}
|
| - explicit constexpr SkSVGPaint(Type t) : fType(t), fColor(SK_ColorBLACK) {}
|
| - explicit constexpr SkSVGPaint(const SkSVGColorType& c) : fType(Type::kColor), fColor(c) {}
|
| + SkSVGPaint() : fType(Type::kInherit), fColor(SK_ColorBLACK) {}
|
| + explicit SkSVGPaint(Type t) : fType(t), fColor(SK_ColorBLACK) {}
|
| + explicit SkSVGPaint(const SkSVGColorType& c) : fType(Type::kColor), fColor(c) {}
|
| + explicit SkSVGPaint(const SkString& iri)
|
| + : fType(Type::kIRI), fColor(SK_ColorBLACK), fIRI(iri) {}
|
|
|
| SkSVGPaint(const SkSVGPaint&) = default;
|
| SkSVGPaint& operator=(const SkSVGPaint&) = default;
|
|
|
| bool operator==(const SkSVGPaint& other) const {
|
| - return fType == other.fType && fColor == other.fColor;
|
| + return fType == other.fType && fColor == other.fColor && fIRI == other.fIRI;
|
| }
|
| bool operator!=(const SkSVGPaint& other) const { return !(*this == other); }
|
|
|
| Type type() const { return fType; }
|
| const SkSVGColorType& color() const { SkASSERT(fType == Type::kColor); return fColor; }
|
| + const SkString& iri() const { SkASSERT(fType == Type::kIRI); return fIRI; }
|
|
|
| private:
|
| Type fType;
|
|
|
| + // Logical union.
|
| SkSVGColorType fColor;
|
| + SkString fIRI;
|
| };
|
|
|
| class SkSVGLineCap {
|
|
|