Home | History | Annotate | Download | only in src
      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