| /* | |
| * 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 : nullptr; | |
| } | |
| 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; | |
| } |