diff options
author | 2016-12-09 13:14:25 +0000 | |
---|---|---|
committer | 2016-12-09 13:14:41 +0000 | |
commit | a129dfef2aaab0b5995cdf1ab7b2cdd41c29cf72 (patch) | |
tree | 9398e074cf0408ba24f739130c062b2bfbe4435e /src/core | |
parent | 76073c11040204d51dceb49cbd0b05be8e7fd0a2 (diff) |
Revert "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"
This reverts commit 8e7432b7f98dd592e529a0c8bb038d73ebfb0478.
Reason for revert: <INSERT REASONING HERE>
external/skia/bench/../tools/android/SkAndroidSDKCanvas.h:103:36: error: C++ requires a type specifier for all declarations
void onClipRect(const SkRect&, ClipOp, ClipEdgeStyle) override;
Original change's description:
> remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS
>
>
> switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone
>
> BUG=skia:
>
> Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d
> Reviewed-on: https://skia-review.googlesource.com/5714
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>
TBR=reed@google.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: If26ea91d7464615e43c1d3d2f726e337ff56b55c
Reviewed-on: https://skia-review.googlesource.com/5721
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkCanvas.cpp | 29 | ||||
-rw-r--r-- | src/core/SkClipStack.cpp | 78 | ||||
-rw-r--r-- | src/core/SkLiteDL.cpp | 38 | ||||
-rw-r--r-- | src/core/SkLiteDL.h | 8 | ||||
-rw-r--r-- | src/core/SkLiteRecorder.cpp | 8 | ||||
-rw-r--r-- | src/core/SkLiteRecorder.h | 8 | ||||
-rw-r--r-- | src/core/SkPictureAnalyzer.cpp | 2 | ||||
-rw-r--r-- | src/core/SkPictureFlat.h | 6 | ||||
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 8 | ||||
-rw-r--r-- | src/core/SkPictureRecord.cpp | 34 | ||||
-rw-r--r-- | src/core/SkPictureRecord.h | 18 | ||||
-rw-r--r-- | src/core/SkRecorder.cpp | 8 | ||||
-rw-r--r-- | src/core/SkRecorder.h | 8 |
13 files changed, 130 insertions, 123 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 430556db7e..2dff8e9f89 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -342,7 +342,7 @@ public: bool next() { if (fMultiDeviceCS && fDevice) { // remove the previous device's bounds - fMultiDeviceCS->clipDevRect(compute_device_bounds(fDevice), kDifference_SkClipOp); + fMultiDeviceCS->clipDevRect(compute_device_bounds(fDevice), SkCanvas::kDifference_Op); } // skip over recs with empty clips @@ -1104,7 +1104,7 @@ bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveLayerFlags saveLayerFlag if (BoundsAffectsClip(saveLayerFlags)) { // Simplify the current clips since they will be applied properly during restore() - fClipStack->clipDevRect(ir, kReplace_SkClipOp); + fClipStack->clipDevRect(ir, kReplace_Op); fMCRec->fRasterClip.setRect(ir); fDeviceClipBounds = qr_clip_bounds(ir); } @@ -1522,13 +1522,13 @@ sk_sp<SkLights> SkCanvas::getLights() const { ////////////////////////////////////////////////////////////////////////////// -void SkCanvas::clipRect(const SkRect& rect, SkClipOp op, bool doAA) { +void SkCanvas::clipRect(const SkRect& rect, ClipOp op, bool doAA) { this->checkForDeferredSave(); ClipEdgeStyle edgeStyle = doAA ? kSoft_ClipEdgeStyle : kHard_ClipEdgeStyle; this->onClipRect(rect, op, edgeStyle); } -void SkCanvas::onClipRect(const SkRect& rect, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkCanvas::onClipRect(const SkRect& rect, ClipOp op, ClipEdgeStyle edgeStyle) { const bool isAA = kSoft_ClipEdgeStyle == edgeStyle; AutoValidateClip avc(this); fClipStack->clipRect(rect, fMCRec->fMatrix, op, isAA); @@ -1538,7 +1538,7 @@ void SkCanvas::onClipRect(const SkRect& rect, SkClipOp op, ClipEdgeStyle edgeSty fDeviceClipBounds = qr_clip_bounds(fMCRec->fRasterClip.getBounds()); } -void SkCanvas::clipRRect(const SkRRect& rrect, SkClipOp op, bool doAA) { +void SkCanvas::clipRRect(const SkRRect& rrect, ClipOp op, bool doAA) { this->checkForDeferredSave(); ClipEdgeStyle edgeStyle = doAA ? kSoft_ClipEdgeStyle : kHard_ClipEdgeStyle; if (rrect.isRect()) { @@ -1548,7 +1548,7 @@ void SkCanvas::clipRRect(const SkRRect& rrect, SkClipOp op, bool doAA) { } } -void SkCanvas::onClipRRect(const SkRRect& rrect, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkCanvas::onClipRRect(const SkRRect& rrect, ClipOp op, ClipEdgeStyle edgeStyle) { AutoValidateClip avc(this); fDeviceCMDirty = true; @@ -1561,7 +1561,7 @@ void SkCanvas::onClipRRect(const SkRRect& rrect, SkClipOp op, ClipEdgeStyle edge return; } -void SkCanvas::clipPath(const SkPath& path, SkClipOp op, bool doAA) { +void SkCanvas::clipPath(const SkPath& path, ClipOp op, bool doAA) { this->checkForDeferredSave(); ClipEdgeStyle edgeStyle = doAA ? kSoft_ClipEdgeStyle : kHard_ClipEdgeStyle; @@ -1586,7 +1586,7 @@ void SkCanvas::clipPath(const SkPath& path, SkClipOp op, bool doAA) { this->onClipPath(path, op, edgeStyle); } -void SkCanvas::onClipPath(const SkPath& path, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkCanvas::onClipPath(const SkPath& path, ClipOp op, ClipEdgeStyle edgeStyle) { AutoValidateClip avc(this); fDeviceCMDirty = true; @@ -1601,19 +1601,19 @@ void SkCanvas::onClipPath(const SkPath& path, SkClipOp op, ClipEdgeStyle edgeSty isAA = getClipStack()->asPath(&tempPath); rasterClipPath = &tempPath; matrix = &SkMatrix::I(); - op = kReplace_SkClipOp; + op = kReplace_Op; } fMCRec->fRasterClip.op(*rasterClipPath, *matrix, this->getTopLayerBounds(), (SkRegion::Op)op, isAA); fDeviceClipBounds = qr_clip_bounds(fMCRec->fRasterClip.getBounds()); } -void SkCanvas::clipRegion(const SkRegion& rgn, SkClipOp op) { +void SkCanvas::clipRegion(const SkRegion& rgn, ClipOp op) { this->checkForDeferredSave(); this->onClipRegion(rgn, op); } -void SkCanvas::onClipRegion(const SkRegion& rgn, SkClipOp op) { +void SkCanvas::onClipRegion(const SkRegion& rgn, ClipOp op) { AutoValidateClip avc(this); fDeviceCMDirty = true; @@ -3383,6 +3383,13 @@ SkCanvas::SaveLayerStrategy SkNoDrawCanvas::getSaveLayerStrategy(const SaveLayer /////////////////////////////////////////////////////////////////////////////// +const SkCanvas::ClipOp SkCanvas::kDifference_Op; +const SkCanvas::ClipOp SkCanvas::kIntersect_Op; +const SkCanvas::ClipOp SkCanvas::kUnion_Op; +const SkCanvas::ClipOp SkCanvas::kXOR_Op; +const SkCanvas::ClipOp SkCanvas::kReverseDifference_Op; +const SkCanvas::ClipOp SkCanvas::kReplace_Op; + static_assert((int)SkRegion::kDifference_Op == (int)kDifference_SkClipOp, ""); static_assert((int)SkRegion::kIntersect_Op == (int)kIntersect_SkClipOp, ""); static_assert((int)SkRegion::kUnion_Op == (int)kUnion_SkClipOp, ""); diff --git a/src/core/SkClipStack.cpp b/src/core/SkClipStack.cpp index 1a1e85f4c5..f155b49c4f 100644 --- a/src/core/SkClipStack.cpp +++ b/src/core/SkClipStack.cpp @@ -83,7 +83,7 @@ void SkClipStack::Element::replay(SkCanvasClipVisitor* visitor) const { visitor->clipRect(this->getRect(), this->getOp(), this->isAA()); break; case kEmpty_Type: - visitor->clipRect(kEmptyRect, kIntersect_SkClipOp, false); + visitor->clipRect(kEmptyRect, SkCanvas::kIntersect_Op, false); break; } } @@ -111,7 +111,7 @@ void SkClipStack::Element::invertShapeFillType() { } } -void SkClipStack::Element::initPath(int saveCount, const SkPath& path, SkClipOp op, +void SkClipStack::Element::initPath(int saveCount, const SkPath& path, SkCanvas::ClipOp op, bool doAA) { if (!path.isInverseFillType()) { SkRect r; @@ -176,16 +176,16 @@ void SkClipStack::Element::checkEmpty() const { SkASSERT(!fPath.isValid()); } -bool SkClipStack::Element::canBeIntersectedInPlace(int saveCount, SkClipOp op) const { +bool SkClipStack::Element::canBeIntersectedInPlace(int saveCount, SkCanvas::ClipOp op) const { if (kEmpty_Type == fType && - (kDifference_SkClipOp == op || kIntersect_SkClipOp == op)) { + (SkCanvas::kDifference_Op == op || SkCanvas::kIntersect_Op == op)) { return true; } // Only clips within the same save/restore frame (as captured by // the save count) can be merged return fSaveCount == saveCount && - kIntersect_SkClipOp == op && - (kIntersect_SkClipOp == fOp || kReplace_SkClipOp == fOp); + SkCanvas::kIntersect_Op == op && + (SkCanvas::kIntersect_Op == fOp || SkCanvas::kReplace_Op == fOp); } bool SkClipStack::Element::rectRectIntersectAllowed(const SkRect& newR, bool newAA) const { @@ -399,9 +399,9 @@ void SkClipStack::Element::updateBoundAndGenID(const Element* prior) { fFiniteBound = this->getRect(); fFiniteBoundType = kNormal_BoundsType; - if (kReplace_SkClipOp == fOp || - (kIntersect_SkClipOp == fOp && nullptr == prior) || - (kIntersect_SkClipOp == fOp && prior->fIsIntersectionOfRects && + if (SkCanvas::kReplace_Op == fOp || + (SkCanvas::kIntersect_Op == fOp && nullptr == prior) || + (SkCanvas::kIntersect_Op == fOp && prior->fIsIntersectionOfRects && prior->rectRectIntersectAllowed(this->getRect(), fDoAA))) { fIsIntersectionOfRects = true; } @@ -460,28 +460,28 @@ void SkClipStack::Element::updateBoundAndGenID(const Element* prior) { // Now integrate with clip with the prior clips switch (fOp) { - case kDifference_SkClipOp: + case SkCanvas::kDifference_Op: this->combineBoundsDiff(combination, prevFinite); break; - case kXOR_SkClipOp: + case SkCanvas::kXOR_Op: this->combineBoundsXOR(combination, prevFinite); break; - case kUnion_SkClipOp: + case SkCanvas::kUnion_Op: this->combineBoundsUnion(combination, prevFinite); break; - case kIntersect_SkClipOp: + case SkCanvas::kIntersect_Op: this->combineBoundsIntersection(combination, prevFinite); break; - case kReverseDifference_SkClipOp: + case SkCanvas::kReverseDifference_Op: this->combineBoundsRevDiff(combination, prevFinite); break; - case kReplace_SkClipOp: + case SkCanvas::kReplace_Op: // Replace just ignores everything prior // The current clip's bound information is already filled in // so nothing to do break; default: - SkDebugf("SkClipOp error\n"); + SkDebugf("SkCanvas::ClipOp error\n"); SkASSERT(0); break; } @@ -608,7 +608,7 @@ bool SkClipStack::internalQuickContains(const SkRect& rect) const { Iter iter(*this, Iter::kTop_IterStart); const Element* element = iter.prev(); while (element != nullptr) { - if (kIntersect_SkClipOp != element->getOp() && kReplace_SkClipOp != element->getOp()) + if (SkCanvas::kIntersect_Op != element->getOp() && SkCanvas::kReplace_Op != element->getOp()) return false; if (element->isInverseFilled()) { // Part of 'rect' could be trimmed off by the inverse-filled clip element @@ -620,7 +620,7 @@ bool SkClipStack::internalQuickContains(const SkRect& rect) const { return false; } } - if (kReplace_SkClipOp == element->getOp()) { + if (SkCanvas::kReplace_Op == element->getOp()) { break; } element = iter.prev(); @@ -633,7 +633,7 @@ bool SkClipStack::internalQuickContains(const SkRRect& rrect) const { Iter iter(*this, Iter::kTop_IterStart); const Element* element = iter.prev(); while (element != nullptr) { - if (kIntersect_SkClipOp != element->getOp() && kReplace_SkClipOp != element->getOp()) + if (SkCanvas::kIntersect_Op != element->getOp() && SkCanvas::kReplace_Op != element->getOp()) return false; if (element->isInverseFilled()) { // Part of 'rrect' could be trimmed off by the inverse-filled clip element @@ -645,7 +645,7 @@ bool SkClipStack::internalQuickContains(const SkRRect& rrect) const { return false; } } - if (kReplace_SkClipOp == element->getOp()) { + if (SkCanvas::kReplace_Op == element->getOp()) { break; } element = iter.prev(); @@ -666,8 +666,8 @@ bool SkClipStack::asPath(SkPath *path) const { element->asPath(&operand); } - SkClipOp elementOp = element->getOp(); - if (elementOp == kReplace_SkClipOp) { + SkCanvas::ClipOp elementOp = element->getOp(); + if (elementOp == SkCanvas::kReplace_Op) { *path = operand; } else { Op(*path, operand, (SkPathOp)elementOp, path); @@ -718,7 +718,7 @@ void SkClipStack::pushElement(const Element& element) { } break; } - } else if (kReplace_SkClipOp == element.getOp()) { + } else if (SkCanvas::kReplace_Op == element.getOp()) { this->restoreTo(fSaveCount - 1); prior = (Element*) fDeque.back(); } @@ -727,7 +727,7 @@ void SkClipStack::pushElement(const Element& element) { newElement->updateBoundAndGenID(prior); } -void SkClipStack::clipRRect(const SkRRect& rrect, const SkMatrix& matrix, SkClipOp op, +void SkClipStack::clipRRect(const SkRRect& rrect, const SkMatrix& matrix, SkCanvas::ClipOp op, bool doAA) { SkRRect transformedRRect; if (rrect.transform(matrix, &transformedRRect)) { @@ -741,7 +741,7 @@ void SkClipStack::clipRRect(const SkRRect& rrect, const SkMatrix& matrix, SkClip this->clipPath(path, matrix, op, doAA); } -void SkClipStack::clipRect(const SkRect& rect, const SkMatrix& matrix, SkClipOp op, +void SkClipStack::clipRect(const SkRect& rect, const SkMatrix& matrix, SkCanvas::ClipOp op, bool doAA) { if (matrix.rectStaysRect()) { SkRect devRect; @@ -756,7 +756,7 @@ void SkClipStack::clipRect(const SkRect& rect, const SkMatrix& matrix, SkClipOp this->clipPath(path, matrix, op, doAA); } -void SkClipStack::clipPath(const SkPath& path, const SkMatrix& matrix, SkClipOp op, +void SkClipStack::clipPath(const SkPath& path, const SkMatrix& matrix, SkCanvas::ClipOp op, bool doAA) { SkPath devPath; path.transform(matrix, &devPath); @@ -768,7 +768,7 @@ void SkClipStack::clipPath(const SkPath& path, const SkMatrix& matrix, SkClipOp void SkClipStack::clipEmpty() { Element* element = (Element*) fDeque.back(); - if (element && element->canBeIntersectedInPlace(fSaveCount, kIntersect_SkClipOp)) { + if (element && element->canBeIntersectedInPlace(fSaveCount, SkCanvas::kIntersect_Op)) { element->setEmpty(); } new (fDeque.push_back()) Element(fSaveCount); @@ -794,7 +794,7 @@ const SkClipStack::Element* SkClipStack::Iter::prev() { return (const SkClipStack::Element*)fIter.prev(); } -const SkClipStack::Element* SkClipStack::Iter::skipToTopmost(SkClipOp op) { +const SkClipStack::Element* SkClipStack::Iter::skipToTopmost(SkCanvas::ClipOp op) { if (nullptr == fStack) { return nullptr; @@ -879,13 +879,13 @@ bool SkClipStack::isRRect(const SkRect& bounds, SkRRect* rrect, bool* aa) const back->getType() != SkClipStack::Element::kRRect_Type) { return false; } - if (back->getOp() == kReplace_SkClipOp) { + if (back->getOp() == SkCanvas::kReplace_Op) { *rrect = back->asRRect(); *aa = back->isAA(); return true; } - if (back->getOp() == kIntersect_SkClipOp) { + if (back->getOp() == SkCanvas::kIntersect_Op) { SkRect backBounds; if (!backBounds.intersect(bounds, back->asRRect().rect())) { return false; @@ -894,12 +894,12 @@ bool SkClipStack::isRRect(const SkRect& bounds, SkRRect* rrect, bool* aa) const SkDeque::Iter iter(fDeque, SkDeque::Iter::kBack_IterStart); SkAssertResult(static_cast<const Element*>(iter.prev()) == back); while (const Element* prior = (const Element*)iter.prev()) { - if ((prior->getOp() != kIntersect_SkClipOp && - prior->getOp() != kReplace_SkClipOp) || + if ((prior->getOp() != SkCanvas::kIntersect_Op && + prior->getOp() != SkCanvas::kReplace_Op) || !prior->contains(backBounds)) { return false; } - if (prior->getOp() == kReplace_SkClipOp) { + if (prior->getOp() == SkCanvas::kReplace_Op) { break; } } @@ -951,12 +951,12 @@ void SkClipStack::Element::dump() const { "reverse-difference", "replace", }; - static_assert(0 == kDifference_SkClipOp, "op_str"); - static_assert(1 == kIntersect_SkClipOp, "op_str"); - static_assert(2 == kUnion_SkClipOp, "op_str"); - static_assert(3 == kXOR_SkClipOp, "op_str"); - static_assert(4 == kReverseDifference_SkClipOp, "op_str"); - static_assert(5 == kReplace_SkClipOp, "op_str"); + static_assert(0 == SkCanvas::kDifference_Op, "op_str"); + static_assert(1 == SkCanvas::kIntersect_Op, "op_str"); + static_assert(2 == SkCanvas::kUnion_Op, "op_str"); + static_assert(3 == SkCanvas::kXOR_Op, "op_str"); + static_assert(4 == SkCanvas::kReverseDifference_Op, "op_str"); + static_assert(5 == SkCanvas::kReplace_Op, "op_str"); static_assert(SK_ARRAY_COUNT(kOpStrings) == SkRegion::kOpCnt, "op_str"); SkDebugf("Type: %s, Op: %s, AA: %s, Save Count: %d\n", kTypeStrings[fType], diff --git a/src/core/SkLiteDL.cpp b/src/core/SkLiteDL.cpp index 2548a818e7..3f6e54e4af 100644 --- a/src/core/SkLiteDL.cpp +++ b/src/core/SkLiteDL.cpp @@ -149,34 +149,34 @@ namespace { struct ClipPath final : Op { static const auto kType = Type::ClipPath; - ClipPath(const SkPath& path, SkClipOp op, bool aa) : path(path), op(op), aa(aa) {} - SkPath path; - SkClipOp op; - bool aa; + ClipPath(const SkPath& path, SkCanvas::ClipOp op, bool aa) : path(path), op(op), aa(aa) {} + SkPath path; + SkCanvas::ClipOp op; + bool aa; void draw(SkCanvas* c, const SkMatrix&) { c->clipPath(path, op, aa); } void makeThreadsafe() { make_threadsafe(&path, nullptr); } }; struct ClipRect final : Op { static const auto kType = Type::ClipRect; - ClipRect(const SkRect& rect, SkClipOp op, bool aa) : rect(rect), op(op), aa(aa) {} - SkRect rect; - SkClipOp op; - bool aa; + ClipRect(const SkRect& rect, SkCanvas::ClipOp op, bool aa) : rect(rect), op(op), aa(aa) {} + SkRect rect; + SkCanvas::ClipOp op; + bool aa; void draw(SkCanvas* c, const SkMatrix&) { c->clipRect(rect, op, aa); } }; struct ClipRRect final : Op { static const auto kType = Type::ClipRRect; - ClipRRect(const SkRRect& rrect, SkClipOp op, bool aa) : rrect(rrect), op(op), aa(aa) {} - SkRRect rrect; - SkClipOp op; - bool aa; + ClipRRect(const SkRRect& rrect, SkCanvas::ClipOp op, bool aa) : rrect(rrect), op(op), aa(aa) {} + SkRRect rrect; + SkCanvas::ClipOp op; + bool aa; void draw(SkCanvas* c, const SkMatrix&) { c->clipRRect(rrect, op, aa); } }; struct ClipRegion final : Op { static const auto kType = Type::ClipRegion; - ClipRegion(const SkRegion& region, SkClipOp op) : region(region), op(op) {} - SkRegion region; - SkClipOp op; + ClipRegion(const SkRegion& region, SkCanvas::ClipOp op) : region(region), op(op) {} + SkRegion region; + SkCanvas::ClipOp op; void draw(SkCanvas* c, const SkMatrix&) { c->clipRegion(region, op); } }; @@ -599,16 +599,16 @@ void SkLiteDL::setMatrix(const SkMatrix& matrix) { this->push<SetMatrix>(0, ma void SkLiteDL::translate(SkScalar dx, SkScalar dy) { this->push<Translate>(0, dx, dy); } void SkLiteDL::translateZ(SkScalar dz) { this->push<TranslateZ>(0, dz); } -void SkLiteDL::clipPath(const SkPath& path, SkClipOp op, bool aa) { +void SkLiteDL::clipPath(const SkPath& path, SkCanvas::ClipOp op, bool aa) { this->push<ClipPath>(0, path, op, aa); } -void SkLiteDL::clipRect(const SkRect& rect, SkClipOp op, bool aa) { +void SkLiteDL::clipRect(const SkRect& rect, SkCanvas::ClipOp op, bool aa) { this->push<ClipRect>(0, rect, op, aa); } -void SkLiteDL::clipRRect(const SkRRect& rrect, SkClipOp op, bool aa) { +void SkLiteDL::clipRRect(const SkRRect& rrect, SkCanvas::ClipOp op, bool aa) { this->push<ClipRRect>(0, rrect, op, aa); } -void SkLiteDL::clipRegion(const SkRegion& region, SkClipOp op) { +void SkLiteDL::clipRegion(const SkRegion& region, SkCanvas::ClipOp op) { this->push<ClipRegion>(0, region, op); } diff --git a/src/core/SkLiteDL.h b/src/core/SkLiteDL.h index 330131f41e..43988c053b 100644 --- a/src/core/SkLiteDL.h +++ b/src/core/SkLiteDL.h @@ -43,10 +43,10 @@ public: void translate(SkScalar, SkScalar); void translateZ(SkScalar); - void clipPath (const SkPath&, SkClipOp, bool aa); - void clipRect (const SkRect&, SkClipOp, bool aa); - void clipRRect (const SkRRect&, SkClipOp, bool aa); - void clipRegion(const SkRegion&, SkClipOp); + void clipPath (const SkPath&, SkCanvas::ClipOp, bool aa); + void clipRect (const SkRect&, SkCanvas::ClipOp, bool aa); + void clipRRect (const SkRRect&, SkCanvas::ClipOp, bool aa); + void clipRegion(const SkRegion&, SkCanvas::ClipOp); void drawPaint (const SkPaint&); void drawPath (const SkPath&, const SkPaint&); diff --git a/src/core/SkLiteRecorder.cpp b/src/core/SkLiteRecorder.cpp index 9f7ae39e05..b26547a462 100644 --- a/src/core/SkLiteRecorder.cpp +++ b/src/core/SkLiteRecorder.cpp @@ -40,19 +40,19 @@ void SkLiteRecorder::didConcat (const SkMatrix& matrix) { fDL-> concat(mat void SkLiteRecorder::didSetMatrix(const SkMatrix& matrix) { fDL->setMatrix(matrix); } void SkLiteRecorder::didTranslate(SkScalar dx, SkScalar dy) { fDL->translate(dx, dy); } -void SkLiteRecorder::onClipRect(const SkRect& rect, SkClipOp op, ClipEdgeStyle style) { +void SkLiteRecorder::onClipRect(const SkRect& rect, ClipOp op, ClipEdgeStyle style) { fDL->clipRect(rect, op, style==kSoft_ClipEdgeStyle); this->INHERITED::onClipRect(rect, op, style); } -void SkLiteRecorder::onClipRRect(const SkRRect& rrect, SkClipOp op, ClipEdgeStyle style) { +void SkLiteRecorder::onClipRRect(const SkRRect& rrect, ClipOp op, ClipEdgeStyle style) { fDL->clipRRect(rrect, op, style==kSoft_ClipEdgeStyle); this->INHERITED::onClipRRect(rrect, op, style); } -void SkLiteRecorder::onClipPath(const SkPath& path, SkClipOp op, ClipEdgeStyle style) { +void SkLiteRecorder::onClipPath(const SkPath& path, ClipOp op, ClipEdgeStyle style) { fDL->clipPath(path, op, style==kSoft_ClipEdgeStyle); this->INHERITED::onClipPath(path, op, style); } -void SkLiteRecorder::onClipRegion(const SkRegion& region, SkClipOp op) { +void SkLiteRecorder::onClipRegion(const SkRegion& region, ClipOp op) { fDL->clipRegion(region, op); this->INHERITED::onClipRegion(region, op); } diff --git a/src/core/SkLiteRecorder.h b/src/core/SkLiteRecorder.h index ad8f26435f..4ffd132862 100644 --- a/src/core/SkLiteRecorder.h +++ b/src/core/SkLiteRecorder.h @@ -31,10 +31,10 @@ public: void didSetMatrix(const SkMatrix&) override; void didTranslate(SkScalar, SkScalar) override; - void onClipRect (const SkRect&, SkClipOp, ClipEdgeStyle) override; - void onClipRRect (const SkRRect&, SkClipOp, ClipEdgeStyle) override; - void onClipPath (const SkPath&, SkClipOp, ClipEdgeStyle) override; - void onClipRegion(const SkRegion&, SkClipOp) override; + void onClipRect (const SkRect&, ClipOp, ClipEdgeStyle) override; + void onClipRRect (const SkRRect&, ClipOp, ClipEdgeStyle) override; + void onClipPath (const SkPath&, ClipOp, ClipEdgeStyle) override; + void onClipRegion(const SkRegion&, ClipOp) override; void onDrawPaint (const SkPaint&) override; void onDrawPath (const SkPath&, const SkPaint&) override; diff --git a/src/core/SkPictureAnalyzer.cpp b/src/core/SkPictureAnalyzer.cpp index 62c27e15a1..a7a4d94496 100644 --- a/src/core/SkPictureAnalyzer.cpp +++ b/src/core/SkPictureAnalyzer.cpp @@ -38,7 +38,7 @@ void SkPictureGpuAnalyzer::analyzePicture(const SkPicture* picture) { fNumSlowPaths += picture->numSlowPaths(); } -void SkPictureGpuAnalyzer::analyzeClipPath(const SkPath& path, SkClipOp op, bool doAntiAlias) { +void SkPictureGpuAnalyzer::analyzeClipPath(const SkPath& path, SkCanvas::ClipOp op, bool doAntiAlias) { const SkRecords::ClipPath clipOp = { SkIRect::MakeEmpty(), // Willie don't care. path, diff --git a/src/core/SkPictureFlat.h b/src/core/SkPictureFlat.h index d5263ca80b..beb2dd8338 100644 --- a/src/core/SkPictureFlat.h +++ b/src/core/SkPictureFlat.h @@ -128,13 +128,13 @@ enum SaveLayerRecFlatFlags { // clipparams are packed in 5 bits // doAA:1 | clipOp:4 -static inline uint32_t ClipParams_pack(SkClipOp op, bool doAA) { +static inline uint32_t ClipParams_pack(SkCanvas::ClipOp op, bool doAA) { unsigned doAABit = doAA ? 1 : 0; return (doAABit << 4) | op; } -static inline SkClipOp ClipParams_unpackRegionOp(uint32_t packed) { - return (SkClipOp)(packed & 0xF); +static inline SkCanvas::ClipOp ClipParams_unpackRegionOp(uint32_t packed) { + return (SkCanvas::ClipOp)(packed & 0xF); } static inline bool ClipParams_unpackDoAA(uint32_t packed) { diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index 85e5c03cad..0b3dd0e8fd 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -136,7 +136,7 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, case CLIP_PATH: { const SkPath& path = fPictureData->getPath(reader); uint32_t packed = reader->readInt(); - SkClipOp clipOp = ClipParams_unpackRegionOp(packed); + SkCanvas::ClipOp clipOp = ClipParams_unpackRegionOp(packed); bool doAA = ClipParams_unpackDoAA(packed); size_t offsetToRestore = reader->readInt(); BREAK_ON_READ_ERROR(reader); @@ -151,7 +151,7 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, SkRegion region; reader->readRegion(®ion); uint32_t packed = reader->readInt(); - SkClipOp clipOp = ClipParams_unpackRegionOp(packed); + SkCanvas::ClipOp clipOp = ClipParams_unpackRegionOp(packed); size_t offsetToRestore = reader->readInt(); BREAK_ON_READ_ERROR(reader); @@ -165,7 +165,7 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, SkRect rect; reader->readRect(&rect); uint32_t packed = reader->readInt(); - SkClipOp clipOp = ClipParams_unpackRegionOp(packed); + SkCanvas::ClipOp clipOp = ClipParams_unpackRegionOp(packed); bool doAA = ClipParams_unpackDoAA(packed); size_t offsetToRestore = reader->readInt(); BREAK_ON_READ_ERROR(reader); @@ -180,7 +180,7 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, SkRRect rrect; reader->readRRect(&rrect); uint32_t packed = reader->readInt(); - SkClipOp clipOp = ClipParams_unpackRegionOp(packed); + SkCanvas::ClipOp clipOp = ClipParams_unpackRegionOp(packed); bool doAA = ClipParams_unpackDoAA(packed); size_t offsetToRestore = reader->readInt(); BREAK_ON_READ_ERROR(reader); diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp index a0ac76d7a6..086eb8dacb 100644 --- a/src/core/SkPictureRecord.cpp +++ b/src/core/SkPictureRecord.cpp @@ -230,18 +230,18 @@ void SkPictureRecord::didTranslateZ(SkScalar z) { #endif } -static bool clipOpExpands(SkClipOp op) { +static bool clipOpExpands(SkCanvas::ClipOp op) { switch (op) { - case kUnion_SkClipOp: - case kXOR_SkClipOp: - case kReverseDifference_SkClipOp: - case kReplace_SkClipOp: + case SkCanvas::kUnion_Op: + case SkCanvas::kXOR_Op: + case SkCanvas::kReverseDifference_Op: + case SkCanvas::kReplace_Op: return true; - case kIntersect_SkClipOp: - case kDifference_SkClipOp: + case SkCanvas::kIntersect_Op: + case SkCanvas::kDifference_Op: return false; default: - SkDEBUGFAIL("unknown clipop"); + SkDEBUGFAIL("unknown region op"); return false; } } @@ -279,7 +279,7 @@ void SkPictureRecord::endRecording() { this->restoreToCount(fInitialSaveCount); } -size_t SkPictureRecord::recordRestoreOffsetPlaceholder(SkClipOp op) { +size_t SkPictureRecord::recordRestoreOffsetPlaceholder(ClipOp op) { if (fRestoreOffsetStack.isEmpty()) { return -1; } @@ -309,12 +309,12 @@ size_t SkPictureRecord::recordRestoreOffsetPlaceholder(SkClipOp op) { return offset; } -void SkPictureRecord::onClipRect(const SkRect& rect, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkPictureRecord::onClipRect(const SkRect& rect, SkCanvas::ClipOp op, ClipEdgeStyle edgeStyle) { this->recordClipRect(rect, op, kSoft_ClipEdgeStyle == edgeStyle); this->INHERITED::onClipRect(rect, op, edgeStyle); } -size_t SkPictureRecord::recordClipRect(const SkRect& rect, SkClipOp op, bool doAA) { +size_t SkPictureRecord::recordClipRect(const SkRect& rect, SkCanvas::ClipOp op, bool doAA) { // id + rect + clip params size_t size = 1 * kUInt32Size + sizeof(rect) + 1 * kUInt32Size; // recordRestoreOffsetPlaceholder doesn't always write an offset @@ -331,12 +331,12 @@ size_t SkPictureRecord::recordClipRect(const SkRect& rect, SkClipOp op, bool doA return offset; } -void SkPictureRecord::onClipRRect(const SkRRect& rrect, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkPictureRecord::onClipRRect(const SkRRect& rrect, SkCanvas::ClipOp op, ClipEdgeStyle edgeStyle) { this->recordClipRRect(rrect, op, kSoft_ClipEdgeStyle == edgeStyle); this->INHERITED::onClipRRect(rrect, op, edgeStyle); } -size_t SkPictureRecord::recordClipRRect(const SkRRect& rrect, SkClipOp op, bool doAA) { +size_t SkPictureRecord::recordClipRRect(const SkRRect& rrect, SkCanvas::ClipOp op, bool doAA) { // op + rrect + clip params size_t size = 1 * kUInt32Size + SkRRect::kSizeInMemory + 1 * kUInt32Size; // recordRestoreOffsetPlaceholder doesn't always write an offset @@ -352,13 +352,13 @@ size_t SkPictureRecord::recordClipRRect(const SkRRect& rrect, SkClipOp op, bool return offset; } -void SkPictureRecord::onClipPath(const SkPath& path, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkPictureRecord::onClipPath(const SkPath& path, SkCanvas::ClipOp op, ClipEdgeStyle edgeStyle) { int pathID = this->addPathToHeap(path); this->recordClipPath(pathID, op, kSoft_ClipEdgeStyle == edgeStyle); this->INHERITED::onClipPath(path, op, edgeStyle); } -size_t SkPictureRecord::recordClipPath(int pathID, SkClipOp op, bool doAA) { +size_t SkPictureRecord::recordClipPath(int pathID, SkCanvas::ClipOp op, bool doAA) { // op + path index + clip params size_t size = 3 * kUInt32Size; // recordRestoreOffsetPlaceholder doesn't always write an offset @@ -374,12 +374,12 @@ size_t SkPictureRecord::recordClipPath(int pathID, SkClipOp op, bool doAA) { return offset; } -void SkPictureRecord::onClipRegion(const SkRegion& region, SkClipOp op) { +void SkPictureRecord::onClipRegion(const SkRegion& region, ClipOp op) { this->recordClipRegion(region, op); this->INHERITED::onClipRegion(region, op); } -size_t SkPictureRecord::recordClipRegion(const SkRegion& region, SkClipOp op) { +size_t SkPictureRecord::recordClipRegion(const SkRegion& region, ClipOp op) { // op + clip params + region size_t size = 2 * kUInt32Size + region.writeToMemory(nullptr); // recordRestoreOffsetPlaceholder doesn't always write an offset diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h index 9339d12ba5..ca858a64eb 100644 --- a/src/core/SkPictureRecord.h +++ b/src/core/SkPictureRecord.h @@ -76,7 +76,7 @@ protected: private: void handleOptimization(int opt); - size_t recordRestoreOffsetPlaceholder(SkClipOp); + size_t recordRestoreOffsetPlaceholder(SkCanvas::ClipOp); void fillRestoreOffsetPlaceholdersForCurrentStackLevel(uint32_t restoreOffset); SkTDArray<int32_t> fRestoreOffsetStack; @@ -204,10 +204,10 @@ protected: const uint16_t indices[], int indexCount, const SkPaint&) override; - void onClipRect(const SkRect&, SkClipOp, ClipEdgeStyle) override; - void onClipRRect(const SkRRect&, SkClipOp, ClipEdgeStyle) override; - void onClipPath(const SkPath&, SkClipOp, ClipEdgeStyle) override; - void onClipRegion(const SkRegion&, SkClipOp) override; + void onClipRect(const SkRect&, ClipOp, ClipEdgeStyle) override; + void onClipRRect(const SkRRect&, ClipOp, ClipEdgeStyle) override; + void onClipPath(const SkPath&, ClipOp, ClipEdgeStyle) override; + void onClipRegion(const SkRegion&, ClipOp) override; void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override; @@ -230,10 +230,10 @@ protected: void recordConcat(const SkMatrix& matrix); void recordTranslate(const SkMatrix& matrix); void recordScale(const SkMatrix& matrix); - size_t recordClipRect(const SkRect& rect, SkClipOp op, bool doAA); - size_t recordClipRRect(const SkRRect& rrect, SkClipOp op, bool doAA); - size_t recordClipPath(int pathID, SkClipOp op, bool doAA); - size_t recordClipRegion(const SkRegion& region, SkClipOp op); + size_t recordClipRect(const SkRect& rect, SkCanvas::ClipOp op, bool doAA); + size_t recordClipRRect(const SkRRect& rrect, SkCanvas::ClipOp op, bool doAA); + size_t recordClipPath(int pathID, SkCanvas::ClipOp op, bool doAA); + size_t recordClipRegion(const SkRegion& region, SkCanvas::ClipOp op); void recordSave(); void recordSaveLayer(const SaveLayerRec&); void recordRestore(bool fillInSkips = true); diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp index f4c6b50f08..4c56d99f45 100644 --- a/src/core/SkRecorder.cpp +++ b/src/core/SkRecorder.cpp @@ -404,25 +404,25 @@ void SkRecorder::didTranslateZ(SkScalar z) { #endif } -void SkRecorder::onClipRect(const SkRect& rect, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkRecorder::onClipRect(const SkRect& rect, ClipOp op, ClipEdgeStyle edgeStyle) { INHERITED(onClipRect, rect, op, edgeStyle); SkRecords::ClipOpAndAA opAA(op, kSoft_ClipEdgeStyle == edgeStyle); APPEND(ClipRect, this->devBounds(), rect, opAA); } -void SkRecorder::onClipRRect(const SkRRect& rrect, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkRecorder::onClipRRect(const SkRRect& rrect, ClipOp op, ClipEdgeStyle edgeStyle) { INHERITED(onClipRRect, rrect, op, edgeStyle); SkRecords::ClipOpAndAA opAA(op, kSoft_ClipEdgeStyle == edgeStyle); APPEND(ClipRRect, this->devBounds(), rrect, opAA); } -void SkRecorder::onClipPath(const SkPath& path, SkClipOp op, ClipEdgeStyle edgeStyle) { +void SkRecorder::onClipPath(const SkPath& path, ClipOp op, ClipEdgeStyle edgeStyle) { INHERITED(onClipPath, path, op, edgeStyle); SkRecords::ClipOpAndAA opAA(op, kSoft_ClipEdgeStyle == edgeStyle); APPEND(ClipPath, this->devBounds(), path, opAA); } -void SkRecorder::onClipRegion(const SkRegion& deviceRgn, SkClipOp op) { +void SkRecorder::onClipRegion(const SkRegion& deviceRgn, ClipOp op) { INHERITED(onClipRegion, deviceRgn, op); APPEND(ClipRegion, this->devBounds(), deviceRgn, op); } diff --git a/src/core/SkRecorder.h b/src/core/SkRecorder.h index c8100761dd..c93ee63430 100644 --- a/src/core/SkRecorder.h +++ b/src/core/SkRecorder.h @@ -132,10 +132,10 @@ public: void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int count, SkBlendMode, const SkRect* cull, const SkPaint*) override; - void onClipRect(const SkRect& rect, SkClipOp, ClipEdgeStyle) override; - void onClipRRect(const SkRRect& rrect, SkClipOp, ClipEdgeStyle) override; - void onClipPath(const SkPath& path, SkClipOp, ClipEdgeStyle) override; - void onClipRegion(const SkRegion& deviceRgn, SkClipOp) override; + void onClipRect(const SkRect& rect, ClipOp, ClipEdgeStyle) override; + void onClipRRect(const SkRRect& rrect, ClipOp, ClipEdgeStyle) override; + void onClipPath(const SkPath& path, ClipOp, ClipEdgeStyle) override; + void onClipRegion(const SkRegion& deviceRgn, ClipOp) override; void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override; |