Index: skia/animator/SkAnimateField.cpp |
=================================================================== |
--- skia/animator/SkAnimateField.cpp (revision 16859) |
+++ skia/animator/SkAnimateField.cpp (working copy) |
@@ -1,130 +0,0 @@ |
-/* libs/graphics/animator/SkAnimateField.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 "SkAnimate.h" |
-#include "SkAnimateMaker.h" |
-#include "SkDrawable.h" |
-#include "SkParse.h" |
- |
-#if SK_USE_CONDENSED_INFO == 0 |
- |
-const SkMemberInfo SkAnimate::fInfo[] = { |
- SK_MEMBER_INHERITED |
-}; |
- |
-#endif |
- |
-DEFINE_GET_MEMBER(SkAnimate); |
- |
-SkAnimate::SkAnimate() : fComponents(0) { |
-} |
- |
-SkAnimate::~SkAnimate() { |
-} |
- |
-int SkAnimate::components() { |
- return fComponents; |
-} |
- |
-#ifdef SK_DUMP_ENABLED |
-void SkAnimate::dump(SkAnimateMaker* maker) { |
- INHERITED::dump(maker); //from animateBase |
- //SkSet inherits from this class |
- if (getType() != SkType_Set) { |
- if (fMirror) |
- SkDebugf("mirror=\"true\" "); |
- if (fReset) |
- SkDebugf("reset=\"true\" "); |
-#ifdef SK_CAN_USE_FLOAT |
- SkDebugf("dur=\"%g\" ", SkScalarToFloat(SkScalarDiv(dur,1000))); |
- if (repeat != SK_Scalar1) |
- SkDebugf("repeat=\"%g\" ", SkScalarToFloat(repeat)); |
-#else |
- SkDebugf("dur=\"%x\" ", SkScalarDiv(dur,1000)); |
- if (repeat != SK_Scalar1) |
- SkDebugf("repeat=\"%x\" ", repeat); |
-#endif |
- //if (fHasValues) |
- // SkDebugf("values=\"%s\" ", values); |
- if (blend.count() != 1 || blend[0] != SK_Scalar1) { |
- SkDebugf("blend=\"["); |
- bool firstElem = true; |
- for (int i = 0; i < blend.count(); i++) { |
- if (!firstElem) |
- SkDebugf(","); |
- firstElem = false; |
-#ifdef SK_CAN_USE_FLOAT |
- SkDebugf("%g", SkScalarToFloat(blend[i])); |
-#else |
- SkDebugf("%x", blend[i]); |
-#endif |
- } |
- SkDebugf("]\" "); |
- } |
- SkDebugf("/>\n");//i assume that if it IS, we will do it separately |
- } |
-} |
-#endif |
- |
-bool SkAnimate::resolveCommon(SkAnimateMaker& maker) { |
- if (fTarget == NULL) // if NULL, recall onEndElement after apply closes and sets target to scope |
- return false; |
- INHERITED::onEndElement(maker); |
- return maker.hasError() == false; |
-} |
- |
-void SkAnimate::onEndElement(SkAnimateMaker& maker) { |
- bool resolved = resolveCommon(maker); |
- if (resolved && fFieldInfo == NULL) { |
- maker.setErrorNoun(field); |
- maker.setErrorCode(SkDisplayXMLParserError::kFieldNotInTarget); |
- } |
- if (resolved == false || fFieldInfo == NULL) |
- return; |
- SkDisplayTypes outType = fFieldInfo->getType(); |
- if (fHasValues) { |
- SkASSERT(to.size() > 0); |
- fFieldInfo->setValue(maker, &fValues, 0, 0, NULL, outType, to); |
- SkASSERT(0); |
- // !!! this needs to set fComponents |
- return; |
- } |
- fComponents = fFieldInfo->getCount(); |
- if (fFieldInfo->fType == SkType_Array) { |
- SkTypedArray* array = (SkTypedArray*) fFieldInfo->memberData(fTarget); |
- int count = array->count(); |
- if (count > 0) |
- fComponents = count; |
- } |
- if (outType == SkType_ARGB) { |
- fComponents <<= 2; // four color components |
- outType = SkType_Float; |
- } |
- fValues.setType(outType); |
- if (formula.size() > 0){ |
- fComponents = 1; |
- from.set("0"); |
- to.set("dur"); |
- outType = SkType_MSec; |
- } |
- int max = fComponents * 2; |
- fValues.setCount(max); |
- memset(fValues.begin(), 0, max * sizeof(fValues.begin()[0])); |
- fFieldInfo->setValue(maker, &fValues, fFieldOffset, max, this, outType, from); |
- fFieldInfo->setValue(maker, &fValues, fComponents + fFieldOffset, max, this, outType, to); |
-} |
- |