7 #include "flutter/display_list/effects/dl_image_filters.h"
8 #include "flutter/display_list/effects/dl_runtime_effect.h"
15 : filter_(
std::move(filter)) {}
21 flutter::DlTileMode tile_mode) {
22 auto filter = flutter::DlBlurImageFilter::Make(x_sigma, y_sigma, tile_mode);
26 return Create<ImageFilter>(std::move(filter));
31 auto filter = flutter::DlDilateImageFilter::Make(x_radius, y_radius);
35 return Create<ImageFilter>(std::move(filter));
40 auto filter = flutter::DlErodeImageFilter::Make(x_radius, y_radius);
44 return Create<ImageFilter>(std::move(filter));
49 flutter::DlImageSampling sampling) {
50 auto filter = flutter::DlMatrixImageFilter::Make(matrix, sampling);
54 return Create<ImageFilter>(std::move(filter));
60 std::vector<std::shared_ptr<flutter::DlColorSource>> samplers,
61 std::shared_ptr<std::vector<uint8_t>> uniform_data) {
70 if (!runtime_effect) {
75 flutter::DlRuntimeEffectImageFilter::Make(std::move(runtime_effect),
77 std::move(uniform_data)
83 return Create<ImageFilter>(std::move(filter));
88 auto filter = flutter::DlComposeImageFilter::Make(outer.
GetImageFilter(),
93 return Create<ImageFilter>(std::move(filter));
static sk_sp< DlRuntimeEffect > Make(std::shared_ptr< impeller::RuntimeStage > runtime_stage)
std::shared_ptr< impeller::Context > GetContext() const
std::shared_ptr< RuntimeStage > FindRuntimeStage(RuntimeStageBackend backend) const
static ScopedObject< ImageFilter > MakeDilate(Scalar x_radius, Scalar y_radius)
ImageFilter(std::shared_ptr< flutter::DlImageFilter > filter)
static ScopedObject< ImageFilter > MakeFragmentProgram(const Context &context, const FragmentProgram &program, std::vector< std::shared_ptr< flutter::DlColorSource >> samplers, std::shared_ptr< std::vector< uint8_t >> uniform_data)
static ScopedObject< ImageFilter > MakeErode(Scalar x_radius, Scalar y_radius)
const std::shared_ptr< flutter::DlImageFilter > & GetImageFilter() const
static ScopedObject< ImageFilter > MakeCompose(const ImageFilter &outer, const ImageFilter &inner)
static ScopedObject< ImageFilter > MakeBlur(Scalar x_sigma, Scalar y_sigma, flutter::DlTileMode tile_mode)
static ScopedObject< ImageFilter > MakeMatrix(const Matrix &matrix, flutter::DlImageSampling sampling)
A 4x4 matrix using column-major storage.