| Index: include/utils/SkNoSaveLayerCanvas.h
|
| diff --git a/include/utils/SkNoSaveLayerCanvas.h b/include/utils/SkNoSaveLayerCanvas.h
|
| index 56a09622a059b0d371e6e5b7274a6f69c7aca2de..686f179901d6181c9fb5a47ece5cd4243d1f8311 100644
|
| --- a/include/utils/SkNoSaveLayerCanvas.h
|
| +++ b/include/utils/SkNoSaveLayerCanvas.h
|
| @@ -16,8 +16,7 @@
|
| // It also simplifies the clipping calls to only use rectangles.
|
| class SK_API SkNoSaveLayerCanvas : public SkCanvas {
|
| public:
|
| - SkNoSaveLayerCanvas(SkBaseDevice* device) : INHERITED(device, kConservativeRasterClip_InitFlag)
|
| - {}
|
| + SkNoSaveLayerCanvas(SkBaseDevice* device) : INHERITED(device) {}
|
|
|
| protected:
|
| virtual SaveLayerStrategy willSaveLayer(const SkRect* bounds, const SkPaint* paint,
|
| @@ -26,6 +25,21 @@
|
| return kNoLayer_SaveLayerStrategy;
|
| }
|
|
|
| + // disable aa for speed
|
| + virtual void onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle) SK_OVERRIDE {
|
| + this->INHERITED::onClipRect(rect, op, kHard_ClipEdgeStyle);
|
| + }
|
| +
|
| + // for speed, just respect the bounds, and disable AA. May give us a few
|
| + // false positives and negatives.
|
| + virtual void onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle) SK_OVERRIDE {
|
| + this->updateClipConservativelyUsingBounds(path.getBounds(), op,
|
| + path.isInverseFillType());
|
| + }
|
| + virtual void onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeStyle) SK_OVERRIDE {
|
| + this->updateClipConservativelyUsingBounds(rrect.getBounds(), op, false);
|
| + }
|
| +
|
| private:
|
| typedef SkCanvas INHERITED;
|
| };
|
|
|