Chromium Code Reviews| Index: experimental/svg/model/SkSVGAttribute.h |
| diff --git a/experimental/svg/model/SkSVGAttribute.h b/experimental/svg/model/SkSVGAttribute.h |
| index 1d7c96eb22fc54b1f881c6168734ca58e50856d6..4ac595d526b5a0cf431818ced0845a815840e874 100644 |
| --- a/experimental/svg/model/SkSVGAttribute.h |
| +++ b/experimental/svg/model/SkSVGAttribute.h |
| @@ -16,10 +16,15 @@ class SkSVGRenderContext; |
| enum class SkSVGAttribute { |
| kD, |
| kFill, |
| + kFillOpacity, |
| kHeight, |
| kRx, |
| kRy, |
| kStroke, |
| + kStrokeOpacity, |
| + kStrokeLineCap, |
| + kStrokeLineJoin, |
| + kStrokeWidth, |
| kTransform, |
| kViewBox, |
| kWidth, |
| @@ -29,22 +34,19 @@ enum class SkSVGAttribute { |
| kUnknown, |
| }; |
|
robertphillips
2016/08/11 13:38:54
Why go from class to struct ?
f(malita)
2016/08/11 14:03:16
Just to simplify access, since this has been reduc
|
| -class SkSVGPresentationAttributes { |
| -public: |
| - SkSVGPresentationAttributes(); |
| +struct SkSVGPresentationAttributes { |
| + static SkSVGPresentationAttributes MakeInitial(); |
| - void setFill(const SkSVGColorType&); |
| - void setStroke(const SkSVGColorType&); |
| + // TODO: SkTLazy adds an extra ptr per attribute; refactor to reduce overhead. |
|
robertphillips
2016/08/11 13:38:54
Since we're now accumulating SkPaint fragments, sh
f(malita)
2016/08/11 14:03:16
The SkPaints are just a cache, to avoid reconstruc
|
| - void applyTo(SkSVGRenderContext*) const; |
| + SkTLazy<SkSVGPaint> fFill; |
| + SkTLazy<SkSVGNumberType> fFillOpacity; |
| -private: |
| - // Color only for now. |
| - SkSVGColorType fFill; |
| - SkSVGColorType fStroke; |
| - |
| - unsigned fFillIsSet : 1; |
| - unsigned fStrokeIsSet : 1; |
| + SkTLazy<SkSVGPaint> fStroke; |
| + SkTLazy<SkSVGLineCap> fStrokeLineCap; |
| + SkTLazy<SkSVGLineJoin> fStrokeLineJoin; |
| + SkTLazy<SkSVGNumberType> fStrokeOpacity; |
| + SkTLazy<SkSVGLength> fStrokeWidth; |
| }; |
| #endif // SkSVGAttribute_DEFINED |