diff options
Diffstat (limited to 'experimental/skottie/SkottieJson.h')
-rw-r--r-- | experimental/skottie/SkottieJson.h | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/experimental/skottie/SkottieJson.h b/experimental/skottie/SkottieJson.h deleted file mode 100644 index 76e17c610e..0000000000 --- a/experimental/skottie/SkottieJson.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkottieJson_DEFINED -#define SkottieJson_DEFINED - -#include "SkRefCnt.h" - -#include "rapidjson/document.h" - -class SkData; -class SkStream; -class SkString; - -namespace skottie { - -namespace json { - -class ValueRef { -public: - ValueRef() : fValue(nullptr) {} - ValueRef(const rapidjson::Value& v) : fValue(v.IsNull() ? nullptr : &v) {} - - bool isNull() const { return !fValue; } - bool isObject() const { return fValue && fValue->IsObject(); } - bool isArray() const { return fValue && fValue->IsArray(); } - - template <typename T> - bool to(T*) const; - - template <typename T> - T toDefault(const T& defaultValue) const { - T v; - if (!this->to<T>(&v)) { - v = defaultValue; - } - return v; - } - - size_t size() const; - ValueRef operator[](size_t i) const; - ValueRef operator[](const char* key) const; - - bool operator==(const ValueRef& other) const { return fValue == other.fValue; } - bool operator!=(const ValueRef& other) const { return !(*this == other); } - - const rapidjson::Value* begin() const; - const rapidjson::Value* end() const; - - SkString toString() const; - -private: - const rapidjson::Value* fValue; -}; - -// Container for the json DOM -class Document { -public: - explicit Document(SkStream*); - - ValueRef root() const { return fDocument; } - -private: - sk_sp<SkData> fData; // raw data - rapidjson::Document fDocument; // in-place json DOM -}; - -} // namespace json - -} // namespace skottie - -#endif // SkottieJson_DEFINED |