1 /* 2 * Copyright 2018 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkottieJson_DEFINED 9 #define SkottieJson_DEFINED 10 11 #include "SkJSON.h" 12 #include "SkRefCnt.h" 13 14 class SkData; 15 class SkStream; 16 class SkString; 17 18 namespace skottie { 19 20 template <typename T> 21 bool Parse(const skjson::Value&, T*); 22 23 template <typename T> 24 T ParseDefault(const skjson::Value& v, const T& defaultValue) { 25 T res; 26 if (!Parse<T>(v, &res)) { 27 res = defaultValue; 28 } 29 return res; 30 } 31 32 } // namespace skottie 33 34 #endif // SkottieJson_DEFINED 35