blob: 023b3913a5c9b42921e7122f08ef0eb2f4fa44a7 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
2/*
3 * Copyright 2006 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
reed@android.com8a1c16f2008-12-17 15:59:43 +00009
10#include "SkDisplayInclude.h"
11#include "SkAnimateMaker.h"
12#include "SkAnimator.h"
13
reed@android.com8a1c16f2008-12-17 15:59:43 +000014#if SK_USE_CONDENSED_INFO == 0
15
16const SkMemberInfo SkInclude::fInfo[] = {
17 SK_MEMBER(src, String)
18};
19
20#endif
21
22DEFINE_GET_MEMBER(SkInclude);
23
24//SkInclude::SkInclude() {
25// src.init();
26//}
27
28//SkInclude::~SkInclude() {
29// src.unref();
30//}
31
32bool SkInclude::enable(SkAnimateMaker & ) {
33 return true;
34}
35
36bool SkInclude::hasEnable() const {
37 return true;
38}
39
40void SkInclude::onEndElement(SkAnimateMaker& maker) {
41 maker.fInInclude = true;
42 if (src.size() == 0 || maker.decodeURI(src.c_str()) == false) {
43 if (maker.getErrorCode() != SkXMLParserError::kNoError || maker.getNativeCode() != -1) {
44 maker.setInnerError(&maker, src);
45 maker.setErrorCode(SkDisplayXMLParserError::kInInclude);
46 } else {
47 maker.setErrorNoun(src);
48 maker.setErrorCode(SkDisplayXMLParserError::kIncludeNameUnknownOrMissing);
49 }
50 }
51 maker.fInInclude = false;
52}