1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/* 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2006 The Android Open Source Project 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file. 7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */ 8ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkPostParts.h" 118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkDisplayPost.h" 128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#if SK_USE_CONDENSED_INFO == 0 148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 158d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.comconst SkMemberInfo SkDataInput::fInfo[] = { 168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SK_MEMBER_INHERITED 178a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 188a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif 208a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 218d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.comDEFINE_GET_MEMBER(SkDataInput); 228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 238d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.comSkDataInput::SkDataInput() : fParent(NULL) {} 248a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 258d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.combool SkDataInput::add() { 268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkASSERT(name.size() > 0); 278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com const char* dataName = name.c_str(); 288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com if (fInt != (int) SK_NaN32) 298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com fParent->fEvent.setS32(dataName, fInt); 308a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com else if (SkScalarIsNaN(fFloat) == false) 318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com fParent->fEvent.setScalar(dataName, fFloat); 32d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com else if (string.size() > 0) 338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com fParent->fEvent.setString(dataName, string); 348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com// else 358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com// SkASSERT(0); 368a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com return false; 378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com} 388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 398d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.comvoid SkDataInput::dirty() { 408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com fParent->dirty(); 418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com} 428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 438d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.comSkDisplayable* SkDataInput::getParent() const { 448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com return fParent; 458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com} 468a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 478d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.combool SkDataInput::setParent(SkDisplayable* displayable) { 488a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com if (displayable->isPost() == false) 498a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com return true; 508a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com fParent = (SkPost*) displayable; 518a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com return false; 528a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com} 538a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 548d0b5770f8fcfdeb8ad9808e58c49116f14b6190reed@google.comvoid SkDataInput::onEndElement(SkAnimateMaker&) { 558a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com add(); 568a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com} 57