| /* |
| * Copyright 2017 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef SkottieValue_DEFINED |
| #define SkottieValue_DEFINED |
| |
| #include "include/core/SkColor.h" |
| #include "include/core/SkM44.h" |
| #include "include/core/SkPath.h" |
| |
| #include <initializer_list> |
| #include <vector> |
| |
| namespace skjson { class Value; } |
| |
| namespace skottie { |
| |
| using ScalarValue = SkScalar; |
| using Vec2Value = SkV2; |
| |
| class VectorValue final : public std::vector<float> { |
| public: |
| VectorValue() = default; |
| |
| VectorValue(std::initializer_list<float> l) : INHERITED(l) {} |
| |
| operator SkV3() const; |
| operator SkColor() const; |
| operator SkColor4f() const; |
| |
| private: |
| using INHERITED = std::vector<float>; |
| }; |
| |
| class ShapeValue final : public std::vector<float> { |
| public: |
| operator SkPath() const; |
| }; |
| |
| } // namespace skottie |
| |
| #endif // SkottieValue_DEFINED |