| Index: src/core/SkCanvas.cpp
|
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
|
| index cdc9489afcc99765af039d9c2d0612d84f7c5dde..99786151abb150dd9500c46121079f1af43a5b81 100644
|
| --- a/src/core/SkCanvas.cpp
|
| +++ b/src/core/SkCanvas.cpp
|
| @@ -1301,37 +1301,7 @@ void SkCanvas::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edg
|
|
|
| static void rasterclip_path(SkRasterClip* rc, const SkCanvas* canvas, const SkPath& devPath,
|
| SkRegion::Op op, bool doAA) {
|
| - // base is used to limit the size (and therefore memory allocation) of the
|
| - // region that results from scan converting devPath.
|
| - SkRegion base;
|
| -
|
| - if (SkRegion::kIntersect_Op == op) {
|
| - // since we are intersect, we can do better (tighter) with currRgn's
|
| - // bounds, than just using the device. However, if currRgn is complex,
|
| - // our region blitter may hork, so we do that case in two steps.
|
| - if (rc->isRect()) {
|
| - // FIXME: we should also be able to do this when rc->isBW(),
|
| - // but relaxing the test above triggers GM asserts in
|
| - // SkRgnBuilder::blitH(). We need to investigate what's going on.
|
| - rc->setPath(devPath, rc->bwRgn(), doAA);
|
| - } else {
|
| - base.setRect(rc->getBounds());
|
| - SkRasterClip clip;
|
| - clip.setPath(devPath, base, doAA);
|
| - rc->op(clip, op);
|
| - }
|
| - } else {
|
| - const SkISize size = canvas->getBaseLayerSize();
|
| - base.setRect(0, 0, size.width(), size.height());
|
| -
|
| - if (SkRegion::kReplace_Op == op) {
|
| - rc->setPath(devPath, base, doAA);
|
| - } else {
|
| - SkRasterClip clip;
|
| - clip.setPath(devPath, base, doAA);
|
| - rc->op(clip, op);
|
| - }
|
| - }
|
| + rc->op(devPath, canvas->getBaseLayerSize(), op, doAA);
|
| }
|
|
|
| void SkCanvas::clipRRect(const SkRRect& rrect, SkRegion::Op op, bool doAA) {
|
|
|