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

Commit ffdf99ae authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "remove (unsupported) clipmask"

parents bd0d5634 a92bdbb5
Loading
Loading
Loading
Loading
+5 −12
Original line number Original line Diff line number Diff line
@@ -96,7 +96,7 @@ struct Restore final : Op {
struct SaveLayer final : Op {
struct SaveLayer final : Op {
    static const auto kType = Type::SaveLayer;
    static const auto kType = Type::SaveLayer;
    SaveLayer(const SkRect* bounds, const SkPaint* paint, const SkImageFilter* backdrop,
    SaveLayer(const SkRect* bounds, const SkPaint* paint, const SkImageFilter* backdrop,
              const SkImage* clipMask, const SkMatrix* clipMatrix, SkCanvas::SaveLayerFlags flags) {
              SkCanvas::SaveLayerFlags flags) {
        if (bounds) {
        if (bounds) {
            this->bounds = *bounds;
            this->bounds = *bounds;
        }
        }
@@ -104,19 +104,14 @@ struct SaveLayer final : Op {
            this->paint = *paint;
            this->paint = *paint;
        }
        }
        this->backdrop = sk_ref_sp(backdrop);
        this->backdrop = sk_ref_sp(backdrop);
        this->clipMask = sk_ref_sp(clipMask);
        this->clipMatrix = clipMatrix ? *clipMatrix : SkMatrix::I();
        this->flags = flags;
        this->flags = flags;
    }
    }
    SkRect bounds = kUnset;
    SkRect bounds = kUnset;
    SkPaint paint;
    SkPaint paint;
    sk_sp<const SkImageFilter> backdrop;
    sk_sp<const SkImageFilter> backdrop;
    sk_sp<const SkImage> clipMask;
    SkMatrix clipMatrix;
    SkCanvas::SaveLayerFlags flags;
    SkCanvas::SaveLayerFlags flags;
    void draw(SkCanvas* c, const SkMatrix&) const {
    void draw(SkCanvas* c, const SkMatrix&) const {
        c->saveLayer({maybe_unset(bounds), &paint, backdrop.get(), clipMask.get(),
        c->saveLayer({maybe_unset(bounds), &paint, backdrop.get(), flags});
                      clipMatrix.isIdentity() ? nullptr : &clipMatrix, flags});
    }
    }
};
};
struct SaveBehind final : Op {
struct SaveBehind final : Op {
@@ -564,9 +559,8 @@ void DisplayListData::restore() {
    this->push<Restore>(0);
    this->push<Restore>(0);
}
}
void DisplayListData::saveLayer(const SkRect* bounds, const SkPaint* paint,
void DisplayListData::saveLayer(const SkRect* bounds, const SkPaint* paint,
                                const SkImageFilter* backdrop, const SkImage* clipMask,
                                const SkImageFilter* backdrop, SkCanvas::SaveLayerFlags flags) {
                                const SkMatrix* clipMatrix, SkCanvas::SaveLayerFlags flags) {
    this->push<SaveLayer>(0, bounds, paint, backdrop, flags);
    this->push<SaveLayer>(0, bounds, paint, backdrop, clipMask, clipMatrix, flags);
}
}


void DisplayListData::saveBehind(const SkRect* subset) {
void DisplayListData::saveBehind(const SkRect* subset) {
@@ -819,8 +813,7 @@ void RecordingCanvas::willSave() {
    fDL->save();
    fDL->save();
}
}
SkCanvas::SaveLayerStrategy RecordingCanvas::getSaveLayerStrategy(const SaveLayerRec& rec) {
SkCanvas::SaveLayerStrategy RecordingCanvas::getSaveLayerStrategy(const SaveLayerRec& rec) {
    fDL->saveLayer(rec.fBounds, rec.fPaint, rec.fBackdrop, rec.fClipMask, rec.fClipMatrix,
    fDL->saveLayer(rec.fBounds, rec.fPaint, rec.fBackdrop, rec.fSaveLayerFlags);
                   rec.fSaveLayerFlags);
    return SkCanvas::kNoLayer_SaveLayerStrategy;
    return SkCanvas::kNoLayer_SaveLayerStrategy;
}
}
void RecordingCanvas::willRestore() {
void RecordingCanvas::willRestore() {
+1 −2
Original line number Original line Diff line number Diff line
@@ -77,8 +77,7 @@ private:
    void flush();
    void flush();


    void save();
    void save();
    void saveLayer(const SkRect*, const SkPaint*, const SkImageFilter*, const SkImage*,
    void saveLayer(const SkRect*, const SkPaint*, const SkImageFilter*, SkCanvas::SaveLayerFlags);
                   const SkMatrix*, SkCanvas::SaveLayerFlags);
    void saveBehind(const SkRect*);
    void saveBehind(const SkRect*);
    void restore();
    void restore();