Flutter Engine
 
Loading...
Searching...
No Matches
flutter::DlRuntimeEffectImageFilter Class Referencefinal

#include <dl_runtime_effect_image_filter.h>

Inheritance diagram for flutter::DlRuntimeEffectImageFilter:
flutter::DlImageFilter flutter::DlAttribute< DlImageFilter, DlImageFilterType >

Public Member Functions

 DlRuntimeEffectImageFilter (sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
 
std::shared_ptr< DlImageFiltershared () const override
 
DlImageFilterType type () const override
 
size_t size () const override
 
bool modifies_transparent_black () const override
 
DlRectmap_local_bounds (const DlRect &input_bounds, DlRect &output_bounds) const override
 
DlIRectmap_device_bounds (const DlIRect &input_bounds, const DlMatrix &ctm, DlIRect &output_bounds) const override
 
DlIRectget_input_device_bounds (const DlIRect &output_bounds, const DlMatrix &ctm, DlIRect &input_bounds) const override
 
const DlRuntimeEffectImageFilterasRuntimeEffectFilter () const override
 
const sk_sp< DlRuntimeEffectruntime_effect () const
 
const std::vector< std::shared_ptr< DlColorSource > > & samplers () const
 
const std::shared_ptr< std::vector< uint8_t > > & uniform_data () const
 
- Public Member Functions inherited from flutter::DlImageFilter
virtual const DlBlurImageFilterasBlur () const
 
virtual const DlDilateImageFilterasDilate () const
 
virtual const DlErodeImageFilterasErode () const
 
virtual const DlMatrixImageFilterasMatrix () const
 
virtual const DlLocalMatrixImageFilterasLocalMatrix () const
 
virtual std::shared_ptr< DlImageFiltermakeWithLocalMatrix (const DlMatrix &matrix) const
 
virtual const DlComposeImageFilterasCompose () const
 
virtual const DlColorFilterImageFilterasColorFilter () const
 
virtual MatrixCapability matrix_capability () const
 
- Public Member Functions inherited from flutter::DlAttribute< DlImageFilter, DlImageFilterType >
bool operator== (DlImageFilter const &other) const
 
bool operator!= (DlImageFilter const &other) const
 
virtual ~DlAttribute ()=default
 

Static Public Member Functions

static std::shared_ptr< DlImageFilterMake (sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
 
- Static Public Member Functions inherited from flutter::DlImageFilter
static std::shared_ptr< DlImageFilterMakeBlur (DlScalar sigma_x, DlScalar sigma_y, DlTileMode tile_mode)
 
static std::shared_ptr< DlImageFilterMakeDilate (DlScalar radius_x, DlScalar radius_y)
 
static std::shared_ptr< DlImageFilterMakeErode (DlScalar radius_x, DlScalar radius_y)
 
static std::shared_ptr< DlImageFilterMakeMatrix (const DlMatrix &matrix, DlImageSampling sampling)
 
static std::shared_ptr< DlImageFilterMakeRuntimeEffect (sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
 
static std::shared_ptr< DlImageFilterMakeColorFilter (const std::shared_ptr< const DlColorFilter > &filter)
 
static std::shared_ptr< DlImageFilterMakeCompose (const std::shared_ptr< DlImageFilter > &outer, const std::shared_ptr< DlImageFilter > &inner)
 

Protected Member Functions

bool equals_ (const DlImageFilter &other) const override
 

Additional Inherited Members

- Public Types inherited from flutter::DlImageFilter
enum class  MatrixCapability {
  kTranslate ,
  kScaleTranslate ,
  kComplex
}
 
- Static Protected Member Functions inherited from flutter::DlImageFilter
static DlVector2 map_vectors_affine (const DlMatrix &ctm, DlScalar x, DlScalar y)
 
static DlIRectinset_device_bounds (const DlIRect &input_bounds, DlScalar radius_x, DlScalar radius_y, const DlMatrix &ctm, DlIRect &output_bounds)
 
static DlIRectoutset_device_bounds (const DlIRect &input_bounds, DlScalar radius_x, DlScalar radius_y, const DlMatrix &ctm, DlIRect &output_bounds)
 

Detailed Description

Definition at line 15 of file dl_runtime_effect_image_filter.h.

Constructor & Destructor Documentation

◆ DlRuntimeEffectImageFilter()

flutter::DlRuntimeEffectImageFilter::DlRuntimeEffectImageFilter ( sk_sp< DlRuntimeEffect runtime_effect,
std::vector< std::shared_ptr< DlColorSource > >  samplers,
std::shared_ptr< std::vector< uint8_t > >  uniform_data 
)
inlineexplicit

Definition at line 17 of file dl_runtime_effect_image_filter.h.

21 : runtime_effect_(std::move(runtime_effect)),
22 samplers_(std::move(samplers)),
23 uniform_data_(std::move(uniform_data)) {}
const sk_sp< DlRuntimeEffect > runtime_effect() const
const std::shared_ptr< std::vector< uint8_t > > & uniform_data() const
const std::vector< std::shared_ptr< DlColorSource > > & samplers() const

Member Function Documentation

◆ asRuntimeEffectFilter()

const DlRuntimeEffectImageFilter * flutter::DlRuntimeEffectImageFilter::asRuntimeEffectFilter ( ) const
inlineoverridevirtual

Reimplemented from flutter::DlImageFilter.

Definition at line 53 of file dl_runtime_effect_image_filter.h.

53 {
54 return this;
55 }

◆ equals_()

bool flutter::DlRuntimeEffectImageFilter::equals_ ( const DlImageFilter other) const
overrideprotectedvirtual

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 40 of file dl_runtime_effect_image_filter.cc.

40 {
42 auto that = static_cast<const DlRuntimeEffectImageFilter*>(&other);
43 if (runtime_effect_ != that->runtime_effect_ ||
44 samplers_.size() != that->samplers().size() ||
45 uniform_data_->size() != that->uniform_data()->size()) {
46 return false;
47 }
48 for (auto i = 0u; i < samplers_.size(); i++) {
49 if (samplers_[i] != that->samplers()[i]) {
50 return false;
51 }
52 }
53 for (auto i = 0u; i < uniform_data_->size(); i++) {
54 if (uniform_data_->at(i) != that->uniform_data()->at(i)) {
55 return false;
56 }
57 }
58 return true;
59}
DlRuntimeEffectImageFilter(sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
#define FML_DCHECK(condition)
Definition logging.h:122

References FML_DCHECK, i, flutter::kRuntimeEffect, and flutter::DlAttribute< D, T >::type().

◆ get_input_device_bounds()

DlIRect * flutter::DlRuntimeEffectImageFilter::get_input_device_bounds ( const DlIRect output_bounds,
const DlMatrix ctm,
DlIRect input_bounds 
) const
overridevirtual

Implements flutter::DlImageFilter.

Definition at line 32 of file dl_runtime_effect_image_filter.cc.

35 {
36 input_bounds = output_bounds;
37 return &input_bounds;
38}

Referenced by flutter::testing::TEST().

◆ Make()

std::shared_ptr< DlImageFilter > flutter::DlRuntimeEffectImageFilter::Make ( sk_sp< DlRuntimeEffect runtime_effect,
std::vector< std::shared_ptr< DlColorSource > >  samplers,
std::shared_ptr< std::vector< uint8_t > >  uniform_data 
)
static

Definition at line 9 of file dl_runtime_effect_image_filter.cc.

12 {
13 return std::make_shared<DlRuntimeEffectImageFilter>(
14 std::move(runtime_effect), std::move(samplers), std::move(uniform_data));
15}

References runtime_effect(), samplers(), and uniform_data().

Referenced by impeller::interop::ImageFilter::MakeFragmentProgram(), and flutter::DlImageFilter::MakeRuntimeEffect().

◆ map_device_bounds()

DlIRect * flutter::DlRuntimeEffectImageFilter::map_device_bounds ( const DlIRect input_bounds,
const DlMatrix ctm,
DlIRect output_bounds 
) const
overridevirtual

Implements flutter::DlImageFilter.

Definition at line 24 of file dl_runtime_effect_image_filter.cc.

27 {
28 output_bounds = input_bounds;
29 return &output_bounds;
30}

Referenced by flutter::testing::TEST().

◆ map_local_bounds()

DlRect * flutter::DlRuntimeEffectImageFilter::map_local_bounds ( const DlRect input_bounds,
DlRect output_bounds 
) const
overridevirtual

Implements flutter::DlImageFilter.

Definition at line 17 of file dl_runtime_effect_image_filter.cc.

19 {
20 output_bounds = input_bounds;
21 return &output_bounds;
22}

Referenced by flutter::testing::TEST().

◆ modifies_transparent_black()

bool flutter::DlRuntimeEffectImageFilter::modifies_transparent_black ( ) const
inlineoverridevirtual

Implements flutter::DlImageFilter.

Definition at line 40 of file dl_runtime_effect_image_filter.h.

40{ return false; }

Referenced by flutter::testing::TEST().

◆ runtime_effect()

const sk_sp< DlRuntimeEffect > flutter::DlRuntimeEffectImageFilter::runtime_effect ( ) const
inline

Definition at line 57 of file dl_runtime_effect_image_filter.h.

57 {
58 return runtime_effect_;
59 }

Referenced by Make(), and impeller::WrapInput().

◆ samplers()

const std::vector< std::shared_ptr< DlColorSource > > & flutter::DlRuntimeEffectImageFilter::samplers ( ) const
inline

Definition at line 61 of file dl_runtime_effect_image_filter.h.

61 {
62 return samplers_;
63 }

Referenced by Make(), flutter::testing::DisplayListStreamDispatcher::out(), and impeller::WrapInput().

◆ shared()

std::shared_ptr< DlImageFilter > flutter::DlRuntimeEffectImageFilter::shared ( ) const
inlineoverridevirtual

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 25 of file dl_runtime_effect_image_filter.h.

25 {
26 return std::make_shared<DlRuntimeEffectImageFilter>(
27 this->runtime_effect_, this->samplers_, this->uniform_data_);
28 }

◆ size()

size_t flutter::DlRuntimeEffectImageFilter::size ( ) const
inlineoverridevirtual

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 38 of file dl_runtime_effect_image_filter.h.

38{ return sizeof(*this); }

◆ type()

DlImageFilterType flutter::DlRuntimeEffectImageFilter::type ( ) const
inlineoverridevirtual

◆ uniform_data()

const std::shared_ptr< std::vector< uint8_t > > & flutter::DlRuntimeEffectImageFilter::uniform_data ( ) const
inline

Definition at line 65 of file dl_runtime_effect_image_filter.h.

65 {
66 return uniform_data_;
67 }

Referenced by Make(), flutter::testing::DisplayListStreamDispatcher::out(), and impeller::WrapInput().


The documentation for this class was generated from the following files: