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

#include <dl_local_matrix_image_filter.h>

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

Public Member Functions

 DlLocalMatrixImageFilter (const DlMatrix &matrix, const std::shared_ptr< DlImageFilter > &filter)
 
 DlLocalMatrixImageFilter (const DlLocalMatrixImageFilter *filter)
 
 DlLocalMatrixImageFilter (const DlLocalMatrixImageFilter &filter)
 
std::shared_ptr< DlImageFiltershared () const override
 
DlImageFilterType type () const override
 
size_t size () const override
 
const DlMatrixmatrix () const
 
const std::shared_ptr< DlImageFilterimage_filter () const
 
const DlLocalMatrixImageFilterasLocalMatrix () 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
 
- Public Member Functions inherited from flutter::DlImageFilter
virtual const DlBlurImageFilterasBlur () const
 
virtual const DlDilateImageFilterasDilate () const
 
virtual const DlErodeImageFilterasErode () const
 
virtual const DlMatrixImageFilterasMatrix () const
 
virtual std::shared_ptr< DlImageFiltermakeWithLocalMatrix (const DlMatrix &matrix) const
 
virtual const DlComposeImageFilterasCompose () const
 
virtual const DlColorFilterImageFilterasColorFilter () const
 
virtual const DlRuntimeEffectImageFilterasRuntimeEffectFilter () 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 (const DlMatrix &matrix, const std::shared_ptr< DlImageFilter > &filter)
 
- 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 12 of file dl_local_matrix_image_filter.h.

Constructor & Destructor Documentation

◆ DlLocalMatrixImageFilter() [1/3]

flutter::DlLocalMatrixImageFilter::DlLocalMatrixImageFilter ( const DlMatrix matrix,
const std::shared_ptr< DlImageFilter > &  filter 
)
inlineexplicit

Definition at line 14 of file dl_local_matrix_image_filter.h.

17 : matrix_(matrix), image_filter_(filter) {}

◆ DlLocalMatrixImageFilter() [2/3]

flutter::DlLocalMatrixImageFilter::DlLocalMatrixImageFilter ( const DlLocalMatrixImageFilter filter)
inlineexplicit

Definition at line 18 of file dl_local_matrix_image_filter.h.

19 : DlLocalMatrixImageFilter(filter->matrix_, filter->image_filter_) {}
DlLocalMatrixImageFilter(const DlMatrix &matrix, const std::shared_ptr< DlImageFilter > &filter)

◆ DlLocalMatrixImageFilter() [3/3]

flutter::DlLocalMatrixImageFilter::DlLocalMatrixImageFilter ( const DlLocalMatrixImageFilter filter)
inline

Definition at line 20 of file dl_local_matrix_image_filter.h.

21 : DlLocalMatrixImageFilter(&filter) {}

Member Function Documentation

◆ asLocalMatrix()

const DlLocalMatrixImageFilter * flutter::DlLocalMatrixImageFilter::asLocalMatrix ( ) const
inlineoverridevirtual

Reimplemented from flutter::DlImageFilter.

Definition at line 42 of file dl_local_matrix_image_filter.h.

42 {
43 return this;
44 }

◆ equals_()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 58 of file dl_local_matrix_image_filter.cc.

58 {
60 auto that = static_cast<const DlLocalMatrixImageFilter*>(&other);
61 return (matrix_ == that->matrix_ &&
62 Equals(image_filter_, that->image_filter_));
63}
#define FML_DCHECK(condition)
Definition logging.h:122
bool Equals(const T *a, const U *b)

References flutter::Equals(), FML_DCHECK, flutter::kLocalMatrix, and flutter::DlAttribute< D, T >::type().

◆ get_input_device_bounds()

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

Implements flutter::DlImageFilter.

Definition at line 46 of file dl_local_matrix_image_filter.cc.

49 {
50 if (!image_filter_) {
51 input_bounds = output_bounds;
52 return &input_bounds;
53 }
54 return image_filter_->get_input_device_bounds(output_bounds, ctm * matrix_,
55 input_bounds);
56}

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

◆ image_filter()

const std::shared_ptr< DlImageFilter > flutter::DlLocalMatrixImageFilter::image_filter ( ) const
inline

Definition at line 38 of file dl_local_matrix_image_filter.h.

38 {
39 return image_filter_;
40 }

Referenced by flutter::testing::DisplayListStreamDispatcher::out(), and flutter::ToSk().

◆ Make()

std::shared_ptr< DlImageFilter > flutter::DlLocalMatrixImageFilter::Make ( const DlMatrix matrix,
const std::shared_ptr< DlImageFilter > &  filter 
)
static

Definition at line 11 of file dl_local_matrix_image_filter.cc.

13 {
14 return std::make_shared<DlLocalMatrixImageFilter>(matrix, filter);
15}

References matrix().

Referenced by flutter::DlImageFilter::makeWithLocalMatrix().

◆ map_device_bounds()

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

Implements flutter::DlImageFilter.

Definition at line 34 of file dl_local_matrix_image_filter.cc.

37 {
38 if (!image_filter_) {
39 output_bounds = input_bounds;
40 return &output_bounds;
41 }
42 return image_filter_->map_device_bounds(input_bounds, ctm * matrix_,
43 output_bounds);
44}

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

◆ map_local_bounds()

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

Implements flutter::DlImageFilter.

Definition at line 24 of file dl_local_matrix_image_filter.cc.

26 {
27 if (!image_filter_) {
28 output_bounds = input_bounds;
29 return &output_bounds;
30 }
31 return image_filter_->map_local_bounds(input_bounds, output_bounds);
32}

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

◆ matrix()

const DlMatrix & flutter::DlLocalMatrixImageFilter::matrix ( ) const
inline

Definition at line 36 of file dl_local_matrix_image_filter.h.

36{ return matrix_; }

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

◆ modifies_transparent_black()

bool flutter::DlLocalMatrixImageFilter::modifies_transparent_black ( ) const
overridevirtual

Implements flutter::DlImageFilter.

Definition at line 17 of file dl_local_matrix_image_filter.cc.

17 {
18 if (!image_filter_) {
19 return false;
20 }
21 return image_filter_->modifies_transparent_black();
22}

◆ shared()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 23 of file dl_local_matrix_image_filter.h.

23 {
24 return std::make_shared<DlLocalMatrixImageFilter>(this);
25 }

◆ size()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 34 of file dl_local_matrix_image_filter.h.

34{ return sizeof(*this); }

◆ type()

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

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