SkPostParts.cpp revision d6176b0dcacb124539e0cfd051e6d93a9782f020
10d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 20d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar/* 30d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * Copyright 2006 The Android Open Source Project 40d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * 50d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * Use of this source code is governed by a BSD-style license that can be 60d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar * found in the LICENSE file. 70d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar */ 80d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 90d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 100d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#include "SkPostParts.h" 110d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#include "SkDisplayPost.h" 120d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 130d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#if SK_USE_CONDENSED_INFO == 0 140d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 150d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarconst SkMemberInfo SkDataInput::fInfo[] = { 160d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SK_MEMBER_INHERITED 170d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar}; 180d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 190d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar#endif 200d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 210d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarDEFINE_GET_MEMBER(SkDataInput); 220d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 230d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarSkDataInput::SkDataInput() : fParent(NULL) {} 240d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 250d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarbool SkDataInput::add() { 260d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar SkASSERT(name.size() > 0); 270d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar const char* dataName = name.c_str(); 280d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if (fInt != (int) SK_NaN32) 290d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar fParent->fEvent.setS32(dataName, fInt); 300d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar else if (SkScalarIsNaN(fFloat) == false) 310d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar fParent->fEvent.setScalar(dataName, fFloat); 320d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar else if (string.size() > 0) 330d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar fParent->fEvent.setString(dataName, string); 340d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar// else 350d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar// SkASSERT(0); 360d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return false; 370d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 380d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 390d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid SkDataInput::dirty() { 400d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar fParent->dirty(); 410d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 420d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 430d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish MahendrakarSkDisplayable* SkDataInput::getParent() const { 440d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return fParent; 450d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 460d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 470d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarbool SkDataInput::setParent(SkDisplayable* displayable) { 480d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar if (displayable->isPost() == false) 490d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return true; 500d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar fParent = (SkPost*) displayable; 510d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar return false; 520d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 530d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 540d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakarvoid SkDataInput::onEndElement(SkAnimateMaker&) { 550d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar add(); 560d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar} 570d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar 580d8951cef4b1a1dbf4ff5ba3e8796cf1d4503098Harish Mahendrakar