Home | History | Annotate | Download | only in animator
      1 
      2 /*
      3  * Copyright 2006 The Android Open Source Project
      4  *
      5  * Use of this source code is governed by a BSD-style license that can be
      6  * found in the LICENSE file.
      7  */
      8 
      9 
     10 #include "SkDisplayInput.h"
     11 
     12 enum SkInput_Properties {
     13     SK_PROPERTY(initialized)
     14 };
     15 
     16 #if SK_USE_CONDENSED_INFO == 0
     17 
     18 const SkMemberInfo SkInput::fInfo[] = {
     19     SK_MEMBER_ALIAS(float, fFloat, Float),
     20     SK_MEMBER_PROPERTY(initialized, Boolean),
     21     SK_MEMBER_ALIAS(int, fInt, Int),
     22     SK_MEMBER(name, String),
     23     SK_MEMBER(string, String)
     24 };
     25 
     26 #endif
     27 
     28 DEFINE_GET_MEMBER(SkInput);
     29 
     30 SkInput::SkInput() : fInt((int) SK_NaN32), fFloat(SK_ScalarNaN) {}
     31 
     32 SkDisplayable* SkInput::contains(const SkString& string) {
     33     return string.equals(name) ? this : NULL;
     34 }
     35 
     36 bool SkInput::enable(SkAnimateMaker & ) {
     37     return true;
     38 }
     39 
     40 bool SkInput::getProperty(int index, SkScriptValue* value) const {
     41     switch (index) {
     42         case SK_PROPERTY(initialized):
     43             value->fType = SkType_Boolean;
     44             value->fOperand.fS32 = fInt != (int) SK_NaN32 ||
     45                 SkScalarIsNaN(fFloat) == false || string.size() > 0;
     46             break;
     47         default:
     48             return false;
     49     }
     50     return true;
     51 }
     52 
     53 bool SkInput::hasEnable() const {
     54     return true;
     55 }
     56