Loading libs/hwui/RecordingCanvas.cpp +5 −12 Original line number Original line Diff line number Diff line Loading @@ -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; } } Loading @@ -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 { Loading Loading @@ -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) { Loading Loading @@ -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() { Loading libs/hwui/RecordingCanvas.h +1 −2 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading Loading
libs/hwui/RecordingCanvas.cpp +5 −12 Original line number Original line Diff line number Diff line Loading @@ -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; } } Loading @@ -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 { Loading Loading @@ -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) { Loading Loading @@ -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() { Loading
libs/hwui/RecordingCanvas.h +1 −2 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading