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

Commit 5518e7cb authored by Leon Scroggins III's avatar Leon Scroggins III Committed by Derek Sollenberger
Browse files

Override getSaveLayerStrategy instead of willSaveLayer

willSaveLayer was removed in https://codereview.chromium.org/1537193002

Requires SkCanvas::SaveLayerFlagsToSaveFlags, added in ag/839104
(Ic78acd6d780245bd30b891e7dcabe29daacc17f4)

Change-Id: Idc49b38fc7939620267b4402ff3846b29f27c81a
(cherry picked from commit e208643a6f9d076274dd683c51a086b1e3679896)
parent 32895546
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -162,15 +162,15 @@ void SkiaCanvasProxy::willSave() {
    mCanvas->save(SkCanvas::kMatrixClip_SaveFlag);
}

SkCanvas::SaveLayerStrategy SkiaCanvasProxy::willSaveLayer(const SkRect* rectPtr,
        const SkPaint* paint, SaveFlags flags) {
SkCanvas::SaveLayerStrategy SkiaCanvasProxy::getSaveLayerStrategy(const SaveLayerRec& saveLayerRec) {
    SkRect rect;
    if (rectPtr) {
        rect = *rectPtr;
    if (saveLayerRec.fBounds) {
        rect = *saveLayerRec.fBounds;
    } else if (!mCanvas->getClipBounds(&rect)) {
        rect = SkRect::MakeEmpty();
    }
    mCanvas->saveLayer(rect.fLeft, rect.fTop, rect.fRight, rect.fBottom, paint, flags);
    mCanvas->saveLayer(rect.fLeft, rect.fTop, rect.fRight, rect.fBottom, saveLayerRec.fPaint,
                       (SkCanvas::SaveFlags) SaveLayerFlagsToSaveFlags(saveLayerRec.fSaveLayerFlags));
    return SkCanvas::kNoLayer_SaveLayerStrategy;
}

+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ protected:
    virtual SkSurface* onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override;

    virtual void willSave() override;
    virtual SaveLayerStrategy willSaveLayer(const SkRect*, const SkPaint*, SaveFlags) override;
    virtual SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec&) override;
    virtual void willRestore() override;

    virtual void didConcat(const SkMatrix&) override;