11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDisplayInclude.h" 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkAnimateMaker.h" 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkAnimator.h" 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if 0 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#undef SK_MEMBER 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define SK_MEMBER(_member, _type) \ 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project { #_member, SK_OFFSETOF(BASE_CLASS::_A, _member), SkType_##_type, \ 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project sizeof(((BASE_CLASS::_A*) 0)->_member) / sizeof(SkScalar) } 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if SK_USE_CONDENSED_INFO == 0 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkMemberInfo SkInclude::fInfo[] = { 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER(src, String) 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_GET_MEMBER(SkInclude); 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project//SkInclude::SkInclude() { 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project// src.init(); 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project//} 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project//SkInclude::~SkInclude() { 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project// src.unref(); 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project//} 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkInclude::enable(SkAnimateMaker & ) { 400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return true; 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkInclude::hasEnable() const { 440910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return true; 450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 460910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 470910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectvoid SkInclude::onEndElement(SkAnimateMaker& maker) { 480910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project maker.fInInclude = true; 490910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project if (src.size() == 0 || maker.decodeURI(src.c_str()) == false) { 500910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project if (maker.getErrorCode() != SkXMLParserError::kNoError || maker.getNativeCode() != -1) { 510910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project maker.setInnerError(&maker, src); 520910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project maker.setErrorCode(SkDisplayXMLParserError::kInInclude); 530910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project } else { 540910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project maker.setErrorNoun(src); 550910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project maker.setErrorCode(SkDisplayXMLParserError::kIncludeNameUnknownOrMissing); 560910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project } 570910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project } 580910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project maker.fInInclude = false; 590910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 60