Lines Matching full:maker
77 // !!! caller must call maker.removeActive(fActive)
81 void SkApply::activate(SkAnimateMaker& maker) {
90 fActive = new SkActive(*this, maker);
92 maker.appendActive(fActive);
170 SkDisplayable* SkApply::deepCopy(SkAnimateMaker* maker) {
173 SkApply* result = (SkApply*) INHERITED::deepCopy(maker);
177 SkAnimateBase* anim = (SkAnimateBase*) (*animPtr)->deepCopy(maker);
179 maker->helperAdd(anim);
193 bool SkApply::draw(SkAnimateMaker& maker) {
199 enable(maker);
201 activate(maker);
204 bool result = interpolate(maker, maker.getInTime());
207 result |= scope->draw(maker);
218 void SkApply::dump(SkAnimateMaker* maker) {
219 dumpBase(maker);
248 scope->dump(maker);
258 animator->dump(maker);
264 dumpEnd(maker);
270 bool SkApply::enable(SkAnimateMaker& maker) {
274 enableDynamic(maker);
275 if (maker.fError.hasError())
281 animator->fStart = maker.fEnableTime;
288 activate(maker);
289 interpolate(maker, maker.fEnableTime);
290 inactivate(maker);
298 activate(maker); // for non-drawables like post, prime them here
302 enableCreate(maker);
308 refresh(maker);
309 SkDisplayList& displayList = maker.fDisplayList;
313 SkMSec time = maker.getAppTime();
314 debugOut.appendS32(time - maker.fDebugTimeBase);
318 debugOut.appendS32(maker.fEnableTime - maker.fDebugTimeBase);
322 activate(maker); // for non-drawables like post, prime them here
327 interpolate(maker, maker.fEnableTime);
330 scope->enable(maker);
335 bool wasActive = inactivate(maker); // start fresh
337 activate(maker);
338 interpolate(maker, maker.fEnableTime);
367 maker.setErrorCode(SkDisplayXMLParserError::kDisplayTreeTooDeep);
376 apply->activate(maker);
386 (*parentList)[oldApply] = (SkDrawable*) SkDisplayType::CreateInstance(&maker, SkType_Apply);
400 void SkApply::enableCreate(SkAnimateMaker& maker) {
404 bool success = maker.computeID(scope, this, &newID);
407 if (maker.find(newID.c_str(), NULL))
409 SkApply* copy = (SkApply*) deepCopy(&maker); // work on copy of animator state
412 SkDrawable* copyScope = copy->scope = (SkDrawable*) scope->deepCopy(&maker);
414 if (copyScope->resolveIDs(maker, scope, this)) {
419 maker.setID(copyScope, newID);
420 if (copy->resolveIDs(maker, this, this)) { // fix up all fields, including target
424 copy->activate(maker);
425 copy->interpolate(maker, step * SK_MSec1);
426 maker.removeActive(copy->fActive);
432 void SkApply::enableDynamic(SkAnimateMaker& maker) {
435 bool success = SkAnimatorScript::EvaluateDisplayable(maker, this, dynamicScope.c_str(),
440 int old = maker.fDisplayList.findGroup(scope, &pList, &pGroup, &found, &gList);
455 onEndElement(maker);
457 maker.removeActive(fActive);
537 bool SkApply::inactivate(SkAnimateMaker& maker) {
540 maker.removeActive(fActive);
550 bool SkApply::interpolate(SkAnimateMaker& maker, SkMSec rawTime) {
555 SkMSec time = maker.getAppTime();
562 debugOut.appendS32(time - maker.fDebugTimeBase);
586 animate->onEndElement(maker);
597 maker.delayEnable(this, state.fStartTime);
631 maker.postOnEnd(animate, state.fBegin + state.fDuration);
632 maker.fAdjustedStart = 0; // !!! left over from synchronizing animation days, undoubtably out of date (and broken)
639 bool success = animate->fFieldInfo->setValue(maker, &formulaValues, 0, 0, NULL,
662 void SkApply::onEndElement(SkAnimateMaker& maker)
668 maker.setErrorCode(SkDisplayXMLParserError::kApplyScopesItself);
685 anim->setTarget(maker);
686 anim->onEndElement(maker); // allows animate->fFieldInfo to be set
699 void SkApply::refresh(SkAnimateMaker& maker) {
702 animate->onEndElement(maker);
713 bool SkApply::resolveIDs(SkAnimateMaker& maker, SkDisplayable* original, SkApply* apply) { // replace to/formula strings in animators of the form xxx.step with the step value, if xxx.step is in scope
714 if (resolveField(maker, apply, &dynamicScope) == false)
720 maker.resolveID(animator, *origPtr++);
721 if (resolveField(maker, this, &animator->target) == false)
723 if (resolveField(maker, this, &animator->from) == false)
725 if (resolveField(maker, this, &animator->to) == false)
727 if (resolveField(maker, this, &animator->formula) == false)
731 onEndElement(maker);
735 bool SkApply::resolveField(SkAnimateMaker& maker, SkDisplayable* parent, SkString* str) {
740 return SkAnimatorScript::EvaluateString(maker, this, parent, script, str);