void SkGroup::initialize() { for (SkDrawable** ptr = fChildren.begin(); ptr < fChildren.end(); ptr++) { SkDrawable* drawable = *ptr; if (drawable->isDrawable() == false) continue; drawable->initialize(); } }
bool SkDisplayList::draw(SkAnimateMaker& maker, SkMSec inTime) { validate(); fInTime = inTime; bool result = false; fInvalBounds.setEmpty(); if (fDrawList.count()) { for (SkActive** activePtr = fActiveList.begin(); activePtr < fActiveList.end(); activePtr++) { SkActive* active = *activePtr; active->reset(); } for (int index = 0; index < fDrawList.count(); index++) { SkDrawable* draw = fDrawList[index]; draw->initialize(); // allow matrices to reset themselves SkASSERT(draw->isDrawable()); validate(); result |= draw->draw(maker); } } validate(); return result; }