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
12enum SkInput_Properties {
13    SK_PROPERTY(initialized)
14};
15
16#if SK_USE_CONDENSED_INFO == 0
17
18const 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
28DEFINE_GET_MEMBER(SkInput);
29
30SkInput::SkInput() : fInt((int) SK_NaN32), fFloat(SK_ScalarNaN) {}
31
32SkDisplayable* SkInput::contains(const SkString& string) {
33    return string.equals(name) ? this : NULL;
34}
35
36bool SkInput::enable(SkAnimateMaker & ) {
37    return true;
38}
39
40bool 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
53bool SkInput::hasEnable() const {
54    return true;
55}
56