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 
SkInput()30 SkInput::SkInput() : fInt((int) SK_NaN32), fFloat(SK_ScalarNaN) {}
31 
contains(const SkString & string)32 SkDisplayable* SkInput::contains(const SkString& string) {
33     return string.equals(name) ? this : NULL;
34 }
35 
enable(SkAnimateMaker &)36 bool SkInput::enable(SkAnimateMaker & ) {
37     return true;
38 }
39 
getProperty(int index,SkScriptValue * value) const40 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 
hasEnable() const53 bool SkInput::hasEnable() const {
54     return true;
55 }
56