Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82d3b17f authored by Mike Reed's avatar Mike Reed Committed by Stan Iliev
Browse files

deprecate replayClips

replayClips is deprecated, just get the rgn instead for setBitmap

Test: ran Canvas CTS
Change-Id: Id0f0da6602d1488bb4071885704fa6e3b449ab85
parent 1cd368b0
Loading
Loading
Loading
Loading
+3 −20
Original line number Diff line number Diff line
@@ -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)