180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru/*
380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Copyright 2006 The Android Open Source Project
480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru *
580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Use of this source code is governed by a BSD-style license that can be
680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * found in the LICENSE file.
780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru */
880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkDisplayInput.h"
1180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruenum SkInput_Properties {
1380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SK_PROPERTY(initialized)
1480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru};
1580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#if SK_USE_CONDENSED_INFO == 0
1780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruconst SkMemberInfo SkInput::fInfo[] = {
1980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SK_MEMBER_ALIAS(float, fFloat, Float),
2080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SK_MEMBER_PROPERTY(initialized, Boolean),
2180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SK_MEMBER_ALIAS(int, fInt, Int),
2280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SK_MEMBER(name, String),
2380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SK_MEMBER(string, String)
2480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru};
2580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#endif
2780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste QueruDEFINE_GET_MEMBER(SkInput);
2980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste QueruSkInput::SkInput() : fInt((int) SK_NaN32), fFloat(SK_ScalarNaN) {}
3180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste QueruSkDisplayable* SkInput::contains(const SkString& string) {
3380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    return string.equals(name) ? this : NULL;
3480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru}
3580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querubool SkInput::enable(SkAnimateMaker & ) {
3780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    return true;
3880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru}
3980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
4080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querubool SkInput::getProperty(int index, SkScriptValue* value) const {
4180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    switch (index) {
4280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru        case SK_PROPERTY(initialized):
4380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru            value->fType = SkType_Boolean;
4480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru            value->fOperand.fS32 = fInt != (int) SK_NaN32 ||
4580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru                SkScalarIsNaN(fFloat) == false || string.size() > 0;
4680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru            break;
4780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru        default:
4880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru            return false;
4980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    }
5080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    return true;
5180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru}
5280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
5380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querubool SkInput::hasEnable() const {
5480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    return true;
5580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru}
56