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