diff options
| author | 2017-02-27 22:22:13 +0000 | |
|---|---|---|
| committer | 2017-02-27 22:22:16 +0000 | |
| commit | c33b943f25e7038e15d8bb095a66a653ef5f5e7b (patch) | |
| tree | e2e2970d347a89a973a2ec68189476be9396d07c | |
| parent | 8a8e33dbb0ed9dc1ee522f6fc13bd263e1f91549 (diff) | |
| parent | 82d3b17f6dff9372ec531d90b5d9180671e0ee2c (diff) | |
Merge "deprecate replayClips"
| -rw-r--r-- | libs/hwui/SkiaCanvas.cpp | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp index c57b1b38bf7b..7cab11a4cf81 100644 --- a/libs/hwui/SkiaCanvas.cpp +++ b/libs/hwui/SkiaCanvas.cpp @@ -73,24 +73,6 @@ void SkiaCanvas::reset(SkCanvas* skiaCanvas) { // Canvas state operations: Replace Bitmap // ---------------------------------------------------------------------------- -class ClipCopier : public SkCanvas::ClipVisitor { -public: - explicit ClipCopier(SkCanvas* dstCanvas) : m_dstCanvas(dstCanvas) {} - - virtual void clipRect(const SkRect& rect, SkClipOp op, bool antialias) { - m_dstCanvas->clipRect(rect, op, antialias); - } - virtual void clipRRect(const SkRRect& rrect, SkClipOp op, bool antialias) { - m_dstCanvas->clipRRect(rrect, op, antialias); - } - virtual void clipPath(const SkPath& path, SkClipOp op, bool antialias) { - m_dstCanvas->clipPath(path, op, antialias); - } - -private: - SkCanvas* m_dstCanvas; -}; - void SkiaCanvas::setBitmap(const SkBitmap& bitmap) { SkCanvas* newCanvas = new SkCanvas(bitmap); @@ -98,8 +80,9 @@ void SkiaCanvas::setBitmap(const SkBitmap& bitmap) { // Copy the canvas matrix & clip state. newCanvas->setMatrix(mCanvas->getTotalMatrix()); - ClipCopier copier(newCanvas); - mCanvas->replayClips(&copier); + SkRegion rgn; + mCanvas->temporary_internal_getRgnClip(&rgn); + newCanvas->clipRegion(rgn, SkClipOp::kIntersect); } // deletes the previously owned canvas (if any) |