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 "SkPostParts.h" 1180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkDisplayPost.h" 1280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 1380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#if SK_USE_CONDENSED_INFO == 0 1480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 1580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruconst SkMemberInfo SkDataInput::fInfo[] = { 1680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru SK_MEMBER_INHERITED 1780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru}; 1880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 1980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#endif 2080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 2180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste QueruDEFINE_GET_MEMBER(SkDataInput); 2280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 2380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste QueruSkDataInput::SkDataInput() : fParent(NULL) {} 2480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 2580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querubool SkDataInput::add() { 2680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru SkASSERT(name.size() > 0); 2780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru const char* dataName = name.c_str(); 2880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru if (fInt != (int) SK_NaN32) 2980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru fParent->fEvent.setS32(dataName, fInt); 3080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru else if (SkScalarIsNaN(fFloat) == false) 3180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru fParent->fEvent.setScalar(dataName, fFloat); 3280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru else if (string.size() > 0) 3380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru fParent->fEvent.setString(dataName, string); 3480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru// else 3580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru// SkASSERT(0); 3680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru return false; 3780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru} 3880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 3980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruvoid SkDataInput::dirty() { 4080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru fParent->dirty(); 4180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru} 4280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 4380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste QueruSkDisplayable* SkDataInput::getParent() const { 4480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru return fParent; 4580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru} 4680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 4780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querubool SkDataInput::setParent(SkDisplayable* displayable) { 4880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru if (displayable->isPost() == false) 4980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru return true; 5080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru fParent = (SkPost*) displayable; 5180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru return false; 5280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru} 5380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru 5480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruvoid SkDataInput::onEndElement(SkAnimateMaker&) { 5580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru add(); 5680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru} 57