//////////////////////////////////////////////////////////////////////////////// // verify that the top state of the stack matches the passed in state static void check_state(skiatest::Reporter* reporter, const GrClipMaskCache& cache, const SkClipStack& clip, GrTexture* mask, const SkIRect& bound) { REPORTER_ASSERT(reporter, clip.getTopmostGenID() == cache.getLastClipGenID()); REPORTER_ASSERT(reporter, mask == cache.getLastMask()); SkIRect cacheBound; cache.getLastBound(&cacheBound); REPORTER_ASSERT(reporter, bound == cacheBound); }
bool SkClipStack::operator==(const SkClipStack& b) const { if (this->getTopmostGenID() == b.getTopmostGenID()) { return true; } if (fSaveCount != b.fSaveCount || fDeque.count() != b.fDeque.count()) { return false; } SkDeque::F2BIter myIter(fDeque); SkDeque::F2BIter bIter(b.fDeque); const Element* myElement = (const Element*)myIter.next(); const Element* bElement = (const Element*)bIter.next(); while (myElement != nullptr && bElement != nullptr) { if (*myElement != *bElement) { return false; } myElement = (const Element*)myIter.next(); bElement = (const Element*)bIter.next(); } return myElement == nullptr && bElement == nullptr; }