Index: experimental/svg/model/SkSVGLinearGradient.h |
diff --git a/experimental/svg/model/SkSVGLinearGradient.h b/experimental/svg/model/SkSVGLinearGradient.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1a2e332baf86364754e0588571ef41d82b8c5e9e |
--- /dev/null |
+++ b/experimental/svg/model/SkSVGLinearGradient.h |
@@ -0,0 +1,49 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef SkSVGLinearGradient_DEFINED |
+#define SkSVGLinearGradient_DEFINED |
+ |
+#include "SkSVGHiddenContainer.h" |
+#include "SkSVGTypes.h" |
+ |
+class SkSVGLinearGradient : public SkSVGHiddenContainer { |
+public: |
+ virtual ~SkSVGLinearGradient() = default; |
+ static sk_sp<SkSVGLinearGradient> Make() { |
+ return sk_sp<SkSVGLinearGradient>(new SkSVGLinearGradient()); |
+ } |
+ |
+ void setHref(const SkSVGStringType&); |
+ void setX1(const SkSVGLength&); |
+ void setY1(const SkSVGLength&); |
+ void setX2(const SkSVGLength&); |
+ void setY2(const SkSVGLength&); |
+ |
+protected: |
+ bool onAsPaint(const SkSVGRenderContext&, SkPaint*) const override; |
+ |
+ void onSetAttribute(SkSVGAttribute, const SkSVGValue&) override; |
+ |
+private: |
+ SkSVGLinearGradient(); |
+ |
+ void collectColorStops(const SkSVGRenderContext&, |
+ SkSTArray<2, SkScalar, true>*, |
+ SkSTArray<2, SkColor, true>*) const; |
+ |
+ SkSVGLength fX1 = SkSVGLength(0 , SkSVGLength::Unit::kPercentage); |
+ SkSVGLength fY1 = SkSVGLength(0 , SkSVGLength::Unit::kPercentage); |
+ SkSVGLength fX2 = SkSVGLength(100, SkSVGLength::Unit::kPercentage); |
+ SkSVGLength fY2 = SkSVGLength(0 , SkSVGLength::Unit::kPercentage); |
+ |
+ SkSVGStringType fHref; |
+ |
+ typedef SkSVGHiddenContainer INHERITED; |
+}; |
+ |
+#endif // SkSVGLinearGradient_DEFINED |