5#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_IMAGE_FILTERS_DL_RUNTIME_EFFECT_IMAGE_FILTER_H_
6#define FLUTTER_DISPLAY_LIST_EFFECTS_IMAGE_FILTERS_DL_RUNTIME_EFFECT_IMAGE_FILTER_H_
19 std::vector<std::shared_ptr<DlColorSource>>
samplers,
25 std::shared_ptr<DlImageFilter>
shared()
const override {
26 return std::make_shared<DlRuntimeEffectImageFilter>(
27 this->runtime_effect_, this->samplers_, this->uniform_data_);
30 static std::shared_ptr<DlImageFilter>
Make(
32 std::vector<std::shared_ptr<DlColorSource>>
samplers,
38 size_t size()
const override {
return sizeof(*this); }
43 DlRect& output_bounds)
const override;
47 DlIRect& output_bounds)
const override;
51 DlIRect& input_bounds)
const override;
58 return runtime_effect_;
61 const std::vector<std::shared_ptr<DlColorSource>>&
samplers()
const {
65 const std::shared_ptr<std::vector<uint8_t>>&
uniform_data()
const {
73 sk_sp<DlRuntimeEffect> runtime_effect_;
74 std::vector<std::shared_ptr<DlColorSource>> samplers_;
75 std::shared_ptr<std::vector<uint8_t>> uniform_data_;
std::shared_ptr< DlImageFilter > shared() const override
bool equals_(const DlImageFilter &other) const override
const DlRuntimeEffectImageFilter * asRuntimeEffectFilter() const override
size_t size() const override
DlIRect * map_device_bounds(const DlIRect &input_bounds, const DlMatrix &ctm, DlIRect &output_bounds) const override
const sk_sp< DlRuntimeEffect > runtime_effect() const
bool modifies_transparent_black() const override
DlRect * map_local_bounds(const DlRect &input_bounds, DlRect &output_bounds) const override
DlRuntimeEffectImageFilter(sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
const std::shared_ptr< std::vector< uint8_t > > & uniform_data() const
const std::vector< std::shared_ptr< DlColorSource > > & samplers() const
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(sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
A 4x4 matrix using column-major storage.