| /* libs/graphics/animator/SkDisplayInclude.cpp |
| ** |
| ** Copyright 2006, The Android Open Source Project |
| ** |
| ** Licensed under the Apache License, Version 2.0 (the "License"); |
| ** you may not use this file except in compliance with the License. |
| ** You may obtain a copy of the License at |
| ** |
| ** http://www.apache.org/licenses/LICENSE-2.0 |
| ** |
| ** Unless required by applicable law or agreed to in writing, software |
| ** distributed under the License is distributed on an "AS IS" BASIS, |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ** See the License for the specific language governing permissions and |
| ** limitations under the License. |
| */ |
| |
| #include "SkDisplayInclude.h" |
| #include "SkAnimateMaker.h" |
| #include "SkAnimator.h" |
| |
| #if 0 |
| #undef SK_MEMBER |
| #define SK_MEMBER(_member, _type) \ |
| { #_member, SK_OFFSETOF(BASE_CLASS::_A, _member), SkType_##_type, \ |
| sizeof(((BASE_CLASS::_A*) 0)->_member) / sizeof(SkScalar) } |
| #endif |
| |
| #if SK_USE_CONDENSED_INFO == 0 |
| |
| const SkMemberInfo SkInclude::fInfo[] = { |
| SK_MEMBER(src, String) |
| }; |
| |
| #endif |
| |
| DEFINE_GET_MEMBER(SkInclude); |
| |
| //SkInclude::SkInclude() { |
| // src.init(); |
| //} |
| |
| //SkInclude::~SkInclude() { |
| // src.unref(); |
| //} |
| |
| bool SkInclude::enable(SkAnimateMaker & ) { |
| return true; |
| } |
| |
| bool SkInclude::hasEnable() const { |
| return true; |
| } |
| |
| void SkInclude::onEndElement(SkAnimateMaker& maker) { |
| maker.fInInclude = true; |
| if (src.size() == 0 || maker.decodeURI(src.c_str()) == false) { |
| if (maker.getErrorCode() != SkXMLParserError::kNoError || maker.getNativeCode() != -1) { |
| maker.setInnerError(&maker, src); |
| maker.setErrorCode(SkDisplayXMLParserError::kInInclude); |
| } else { |
| maker.setErrorNoun(src); |
| maker.setErrorCode(SkDisplayXMLParserError::kIncludeNameUnknownOrMissing); |
| } |
| } |
| maker.fInInclude = false; |
| } |