| Index: experimental/svg/model/SkSVGValue.h
|
| diff --git a/experimental/svg/model/SkSVGValue.h b/experimental/svg/model/SkSVGValue.h
|
| index a83c4fe07fa926b988774a393889ca1684eed5de..77619c224108918f5aab9fee1c866f23aad8108b 100644
|
| --- a/experimental/svg/model/SkSVGValue.h
|
| +++ b/experimental/svg/model/SkSVGValue.h
|
| @@ -21,6 +21,7 @@ public:
|
| kLength,
|
| kPath,
|
| kTransform,
|
| + kViewBox,
|
| };
|
|
|
| Type type() const { return fType; }
|
| @@ -39,26 +40,31 @@ private:
|
| typedef SkNoncopyable INHERITED;
|
| };
|
|
|
| -template <typename SkiaType, SkSVGValue::Type ValueType>
|
| +template <typename T, SkSVGValue::Type ValueType>
|
| class SkSVGWrapperValue final : public SkSVGValue {
|
| public:
|
| static constexpr Type TYPE = ValueType;
|
|
|
| - explicit SkSVGWrapperValue(const SkiaType& v)
|
| + explicit SkSVGWrapperValue(const T& v)
|
| : INHERITED(ValueType)
|
| , fWrappedValue(v) { }
|
|
|
| - operator const SkiaType&() const { return fWrappedValue; }
|
| + operator const T&() const { return fWrappedValue; }
|
|
|
| private:
|
| - SkiaType fWrappedValue;
|
| + // Stack-only
|
| + void* operator new(size_t) = delete;
|
| + void* operator new(size_t, void*) = delete;
|
| +
|
| + const T& fWrappedValue;
|
|
|
| typedef SkSVGValue INHERITED;
|
| };
|
|
|
| -using SkSVGColorValue = SkSVGWrapperValue<SkSVGColor , SkSVGValue::Type::kColor >;
|
| -using SkSVGLengthValue = SkSVGWrapperValue<SkSVGLength, SkSVGValue::Type::kLength >;
|
| -using SkSVGPathValue = SkSVGWrapperValue<SkPath , SkSVGValue::Type::kPath >;
|
| -using SkSVGTransformValue = SkSVGWrapperValue<SkMatrix , SkSVGValue::Type::kTransform>;
|
| +using SkSVGColorValue = SkSVGWrapperValue<SkSVGColorType , SkSVGValue::Type::kColor >;
|
| +using SkSVGLengthValue = SkSVGWrapperValue<SkSVGLength , SkSVGValue::Type::kLength >;
|
| +using SkSVGPathValue = SkSVGWrapperValue<SkPath , SkSVGValue::Type::kPath >;
|
| +using SkSVGTransformValue = SkSVGWrapperValue<SkMatrix , SkSVGValue::Type::kTransform>;
|
| +using SkSVGViewBoxValue = SkSVGWrapperValue<SkSVGViewBoxType, SkSVGValue::Type::kViewBox >;
|
|
|
| #endif // SkSVGValue_DEFINED
|
|
|