diff options
-rw-r--r-- | src/core/SkCanvas.cpp | 3 | ||||
-rw-r--r-- | src/pdf/SkPDFDevice.cpp | 17 |
2 files changed, 7 insertions, 13 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index a65f454ef2..567e5f5c15 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -534,8 +534,7 @@ SkISize SkCanvas::getDeviceSize() const { SkDevice* SkCanvas::getDevice() const { // return root device - SkDeque::F2BIter iter(fMCStack); - MCRec* rec = (MCRec*)iter.next(); + MCRec* rec = (MCRec*) fMCStack.front(); SkASSERT(rec && rec->fLayer); return rec->fLayer->fDevice; } diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp index bba703c23c..691ee26f24 100644 --- a/src/pdf/SkPDFDevice.cpp +++ b/src/pdf/SkPDFDevice.cpp @@ -222,16 +222,15 @@ void GraphicStackState::pop() { // and asserts that "prefix" will be a prefix to "stack." static void skip_clip_stack_prefix(const SkClipStack& prefix, const SkClipStack& stack, - SkClipStack::B2FIter* iter) { + SkClipStack::Iter* iter) { SkClipStack::B2FIter prefixIter(prefix); - iter->reset(stack); + iter->reset(stack, SkClipStack::Iter::kFront_IterStart); const SkClipStack::B2FIter::Clip* prefixEntry; const SkClipStack::B2FIter::Clip* iterEntry; - int count = 0; for (prefixEntry = prefixIter.next(); prefixEntry; - prefixEntry = prefixIter.next(), count++) { + prefixEntry = prefixIter.next()) { iterEntry = iter->next(); SkASSERT(iterEntry); // Because of SkClipStack does internal intersection, the last clip @@ -243,12 +242,8 @@ static void skip_clip_stack_prefix(const SkClipStack& prefix, (prefixEntry->fRect == NULL)); SkASSERT((iterEntry->fPath == NULL) == (prefixEntry->fPath == NULL)); - // We need to back up the iterator by one but don't have that - // function, so reset and go forward by one less. - iter->reset(stack); - for (int i = 0; i < count; i++) { - iter->next(); - } + // back up the iterator by one + iter->prev(); prefixEntry = prefixIter.next(); break; } @@ -305,7 +300,7 @@ void GraphicStackState::updateClip(const SkClipStack& clipStack, // initial clip on the parent layer. (This means there's a bug if the user // expands the clip and then uses any xfer mode that uses dst: // http://code.google.com/p/skia/issues/detail?id=228 ) - SkClipStack::B2FIter iter; + SkClipStack::Iter iter; skip_clip_stack_prefix(fEntries[0].fClipStack, clipStack, &iter); // If the clip stack does anything other than intersect or if it uses |