diff options
Diffstat (limited to 'animator/SkDisplayInput.cpp')
-rw-r--r-- | animator/SkDisplayInput.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/animator/SkDisplayInput.cpp b/animator/SkDisplayInput.cpp new file mode 100644 index 00000000..7061aa8e --- /dev/null +++ b/animator/SkDisplayInput.cpp @@ -0,0 +1,55 @@ + +/* + * Copyright 2006 The Android Open Source Project + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#include "SkDisplayInput.h" + +enum SkInput_Properties { + SK_PROPERTY(initialized) +}; + +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkInput::fInfo[] = { + SK_MEMBER_ALIAS(float, fFloat, Float), + SK_MEMBER_PROPERTY(initialized, Boolean), + SK_MEMBER_ALIAS(int, fInt, Int), + SK_MEMBER(name, String), + SK_MEMBER(string, String) +}; + +#endif + +DEFINE_GET_MEMBER(SkInput); + +SkInput::SkInput() : fInt((int) SK_NaN32), fFloat(SK_ScalarNaN) {} + +SkDisplayable* SkInput::contains(const SkString& string) { + return string.equals(name) ? this : NULL; +} + +bool SkInput::enable(SkAnimateMaker & ) { + return true; +} + +bool SkInput::getProperty(int index, SkScriptValue* value) const { + switch (index) { + case SK_PROPERTY(initialized): + value->fType = SkType_Boolean; + value->fOperand.fS32 = fInt != (int) SK_NaN32 || + SkScalarIsNaN(fFloat) == false || string.size() > 0; + break; + default: + return false; + } + return true; +} + +bool SkInput::hasEnable() const { + return true; +} |