5#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_IMAGE_FILTERS_DL_LOCAL_MATRIX_IMAGE_FILTER_H_
6#define FLUTTER_DISPLAY_LIST_EFFECTS_IMAGE_FILTERS_DL_LOCAL_MATRIX_IMAGE_FILTER_H_
16 const std::shared_ptr<DlImageFilter>& filter)
17 : matrix_(
matrix), image_filter_(filter) {}
23 std::shared_ptr<DlImageFilter>
shared()
const override {
24 return std::make_shared<DlLocalMatrixImageFilter>(
this);
27 static std::shared_ptr<DlImageFilter>
Make(
29 const std::shared_ptr<DlImageFilter>& filter);
34 size_t size()
const override {
return sizeof(*this); }
49 DlRect& output_bounds)
const override;
53 DlIRect& output_bounds)
const override;
57 DlIRect& input_bounds)
const override;
64 std::shared_ptr<DlImageFilter> image_filter_;
size_t size() const override
DlLocalMatrixImageFilter(const DlLocalMatrixImageFilter &filter)
const DlLocalMatrixImageFilter * asLocalMatrix() const override
bool equals_(const DlImageFilter &other) const override
bool modifies_transparent_black() const override
const DlMatrix & matrix() const
DlIRect * map_device_bounds(const DlIRect &input_bounds, const DlMatrix &ctm, DlIRect &output_bounds) const override
DlLocalMatrixImageFilter(const DlLocalMatrixImageFilter *filter)
DlImageFilterType type() const override
DlIRect * get_input_device_bounds(const DlIRect &output_bounds, const DlMatrix &ctm, DlIRect &input_bounds) const override
static std::shared_ptr< DlImageFilter > Make(const DlMatrix &matrix, const std::shared_ptr< DlImageFilter > &filter)
const std::shared_ptr< DlImageFilter > image_filter() const
std::shared_ptr< DlImageFilter > shared() const override
DlRect * map_local_bounds(const DlRect &input_bounds, DlRect &output_bounds) const override
DlLocalMatrixImageFilter(const DlMatrix &matrix, const std::shared_ptr< DlImageFilter > &filter)
A 4x4 matrix using column-major storage.