| OLD | NEW |
| (Empty) |
| 1 /* libs/graphics/animator/SkAnimateActive.h | |
| 2 ** | |
| 3 ** Copyright 2006, The Android Open Source Project | |
| 4 ** | |
| 5 ** Licensed under the Apache License, Version 2.0 (the "License"); | |
| 6 ** you may not use this file except in compliance with the License. | |
| 7 ** You may obtain a copy of the License at | |
| 8 ** | |
| 9 ** http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 ** | |
| 11 ** Unless required by applicable law or agreed to in writing, software | |
| 12 ** distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 ** See the License for the specific language governing permissions and | |
| 15 ** limitations under the License. | |
| 16 */ | |
| 17 | |
| 18 #ifndef SkAnimateActive_DEFINED | |
| 19 #define SkAnimateActive_DEFINED | |
| 20 | |
| 21 #include "SkDisplayApply.h" | |
| 22 #include "SkOperandInterpolator.h" | |
| 23 #include "SkIntArray.h" | |
| 24 | |
| 25 class SkAnimateMaker; | |
| 26 | |
| 27 class SkActive { | |
| 28 public: | |
| 29 SkActive(SkApply& , SkAnimateMaker& ); | |
| 30 ~SkActive(); | |
| 31 void advance(); | |
| 32 void append(SkApply* ); | |
| 33 void calcDurations(int index); | |
| 34 void create(SkDrawable* scope, SkMSec time); | |
| 35 bool draw() { return immediate(false); } | |
| 36 bool enable() { return immediate(true); } | |
| 37 void init( ); | |
| 38 SkMSec getTime(SkMSec inTime, int animatorIndex); | |
| 39 void pickUp(SkActive* existing); | |
| 40 void reset() { fDrawIndex = 0; } | |
| 41 void setInterpolator(int index, SkOperand* from); | |
| 42 void start(); | |
| 43 #ifdef SK_DEBUG | |
| 44 void validate(); | |
| 45 #endif | |
| 46 private: | |
| 47 void appendSave(int oldCount); | |
| 48 void fixInterpolator(SkBool save); | |
| 49 bool immediate(bool enable); | |
| 50 bool initializeSave(); | |
| 51 void initState(SkApply* , int offset); | |
| 52 void resetInterpolators(); | |
| 53 void resetState(); | |
| 54 void restoreInterpolatorValues(int index); | |
| 55 void saveInterpolatorValues(int index); | |
| 56 void setSteps(int steps); | |
| 57 struct SkState { | |
| 58 // void bumpSave(); | |
| 59 SkMSec getRelativeTime(SkMSec time); | |
| 60 SkApply::Mode fMode; | |
| 61 SkApply::Transition fTransition; | |
| 62 SkBool8 fPickup; | |
| 63 SkBool8 fRestore; | |
| 64 SkBool8 fStarted; | |
| 65 SkBool8 fUnpostedEndEvent; | |
| 66 int32_t fSteps; | |
| 67 SkMSec fBegin; | |
| 68 SkMSec fStartTime; | |
| 69 SkMSec fDuration; | |
| 70 SkMSec fSave; | |
| 71 SkMSec fTicks; | |
| 72 }; | |
| 73 SkActive& operator= (const SkActive& ); | |
| 74 SkTDArray<SkOperandInterpolator*> fInterpolators; | |
| 75 SkApply& fApply; | |
| 76 SkTDArray<SkState> fState; // one per animator | |
| 77 SkTDOperandPtrArray fSaveRestore; // if apply has restore="true" | |
| 78 SkTDOperandPtrArray fSaveInterpolators; | |
| 79 SkTDAnimateArray fAnimators; | |
| 80 SkMSec fMaxTime; // greatest of all animation durations; only used by imm
ediate mode | |
| 81 SkAnimateMaker& fMaker; | |
| 82 int fDrawIndex; | |
| 83 int fDrawMax; | |
| 84 friend class SkApply; | |
| 85 }; | |
| 86 | |
| 87 #endif // SkAnimateActive_DEFINED | |
| OLD | NEW |