Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
flutter::DlComposeImageFilter Class Referencefinal

#include <dl_image_filter.h>

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

Public Member Functions

 DlComposeImageFilter (std::shared_ptr< const DlImageFilter > outer, std::shared_ptr< const DlImageFilter > inner)
 
 DlComposeImageFilter (const DlImageFilter *outer, const DlImageFilter *inner)
 
 DlComposeImageFilter (const DlImageFilter &outer, const DlImageFilter &inner)
 
 DlComposeImageFilter (const DlComposeImageFilter *filter)
 
 DlComposeImageFilter (const DlComposeImageFilter &filter)
 
std::shared_ptr< DlImageFiltershared () const override
 
DlImageFilterType type () const override
 
size_t size () const override
 
std::shared_ptr< const DlImageFilterouter () const
 
std::shared_ptr< const DlImageFilterinner () const
 
const DlComposeImageFilterasCompose () const override
 
bool modifies_transparent_black () const override
 
SkRectmap_local_bounds (const SkRect &input_bounds, SkRect &output_bounds) const override
 
SkIRectmap_device_bounds (const SkIRect &input_bounds, const SkMatrix &ctm, SkIRect &output_bounds) const override
 
SkIRectget_input_device_bounds (const SkIRect &output_bounds, const SkMatrix &ctm, SkIRect &input_bounds) const override
 
MatrixCapability matrix_capability () 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 const DlLocalMatrixImageFilterasLocalMatrix () const
 
virtual std::shared_ptr< DlImageFiltermakeWithLocalMatrix (const SkMatrix &matrix) const
 
virtual const DlColorFilterImageFilterasColorFilter () 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< const DlImageFilterMake (std::shared_ptr< const DlImageFilter > outer, std::shared_ptr< const 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 SkVector map_vectors_affine (const SkMatrix &ctm, SkScalar x, SkScalar y)
 
static SkIRectinset_device_bounds (const SkIRect &input_bounds, SkScalar radius_x, SkScalar radius_y, const SkMatrix &ctm, SkIRect &output_bounds)
 
static SkIRectoutset_device_bounds (const SkIRect &input_bounds, SkScalar radius_x, SkScalar radius_y, const SkMatrix &ctm, SkIRect &output_bounds)
 

Detailed Description

Definition at line 504 of file dl_image_filter.h.

Constructor & Destructor Documentation

◆ DlComposeImageFilter() [1/5]

flutter::DlComposeImageFilter::DlComposeImageFilter ( std::shared_ptr< const DlImageFilter outer,
std::shared_ptr< const DlImageFilter inner 
)
inline

Definition at line 506 of file dl_image_filter.h.

508 : outer_(std::move(outer)), inner_(std::move(inner)) {}
std::shared_ptr< const DlImageFilter > outer() const
std::shared_ptr< const DlImageFilter > inner() const

◆ DlComposeImageFilter() [2/5]

flutter::DlComposeImageFilter::DlComposeImageFilter ( const DlImageFilter outer,
const DlImageFilter inner 
)
inline

Definition at line 509 of file dl_image_filter.h.

510 : outer_(outer->shared()), inner_(inner->shared()) {}

◆ DlComposeImageFilter() [3/5]

flutter::DlComposeImageFilter::DlComposeImageFilter ( const DlImageFilter outer,
const DlImageFilter inner 
)
inline

Definition at line 511 of file dl_image_filter.h.

DlComposeImageFilter(std::shared_ptr< const DlImageFilter > outer, std::shared_ptr< const DlImageFilter > inner)

◆ DlComposeImageFilter() [4/5]

flutter::DlComposeImageFilter::DlComposeImageFilter ( const DlComposeImageFilter filter)
inlineexplicit

Definition at line 513 of file dl_image_filter.h.

514 : DlComposeImageFilter(filter->outer_, filter->inner_) {}

◆ DlComposeImageFilter() [5/5]

flutter::DlComposeImageFilter::DlComposeImageFilter ( const DlComposeImageFilter filter)
inline

Definition at line 515 of file dl_image_filter.h.

516 : DlComposeImageFilter(&filter) {}

Member Function Documentation

◆ asCompose()

const DlComposeImageFilter * flutter::DlComposeImageFilter::asCompose ( ) const
inlineoverridevirtual

Reimplemented from flutter::DlImageFilter.

Definition at line 542 of file dl_image_filter.h.

542{ return this; }

◆ equals_()

bool flutter::DlComposeImageFilter::equals_ ( const DlImageFilter other) const
inlineoverrideprotectedvirtual

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 570 of file dl_image_filter.h.

570 {
572 auto that = static_cast<const DlComposeImageFilter*>(&other);
573 return (Equals(outer_, that->outer_) && Equals(inner_, that->inner_));
574 }
#define FML_DCHECK(condition)
Definition logging.h:103
bool Equals(const T *a, const T *b)

◆ get_input_device_bounds()

SkIRect * flutter::DlComposeImageFilter::get_input_device_bounds ( const SkIRect output_bounds,
const SkMatrix ctm,
SkIRect input_bounds 
) const
overridevirtual

Implements flutter::DlImageFilter.

Definition at line 77 of file dl_image_filter.cc.

80 {
81 SkIRect cur_bounds = output_bounds;
82 SkIRect* ret = &input_bounds;
83 // We set this result in case neither filter is present.
84 input_bounds = output_bounds;
85 if (outer_) {
86 if (!outer_->get_input_device_bounds(cur_bounds, ctm, input_bounds)) {
87 ret = nullptr;
88 }
89 cur_bounds = input_bounds;
90 }
91 if (inner_) {
92 if (!inner_->get_input_device_bounds(cur_bounds, ctm, input_bounds)) {
93 ret = nullptr;
94 }
95 }
96 return ret;
97}

◆ inner()

std::shared_ptr< const DlImageFilter > flutter::DlComposeImageFilter::inner ( ) const
inline

Definition at line 540 of file dl_image_filter.h.

540{ return inner_; }

◆ Make()

static std::shared_ptr< const DlImageFilter > flutter::DlComposeImageFilter::Make ( std::shared_ptr< const DlImageFilter outer,
std::shared_ptr< const DlImageFilter inner 
)
inlinestatic

Definition at line 518 of file dl_image_filter.h.

520 {
521 if (!outer) {
522 return inner;
523 }
524 if (!inner) {
525 return outer;
526 }
527 return std::make_shared<DlComposeImageFilter>(outer, inner);
528 }

◆ map_device_bounds()

SkIRect * flutter::DlComposeImageFilter::map_device_bounds ( const SkIRect input_bounds,
const SkMatrix ctm,
SkIRect output_bounds 
) const
overridevirtual

Implements flutter::DlImageFilter.

Definition at line 56 of file dl_image_filter.cc.

58 {
59 SkIRect cur_bounds = input_bounds;
60 SkIRect* ret = &output_bounds;
61 // We set this result in case neither filter is present.
62 output_bounds = input_bounds;
63 if (inner_) {
64 if (!inner_->map_device_bounds(cur_bounds, ctm, output_bounds)) {
65 ret = nullptr;
66 }
67 cur_bounds = output_bounds;
68 }
69 if (outer_) {
70 if (!outer_->map_device_bounds(cur_bounds, ctm, output_bounds)) {
71 ret = nullptr;
72 }
73 }
74 return ret;
75}

◆ map_local_bounds()

SkRect * flutter::DlComposeImageFilter::map_local_bounds ( const SkRect input_bounds,
SkRect output_bounds 
) const
overridevirtual

Implements flutter::DlImageFilter.

Definition at line 36 of file dl_image_filter.cc.

37 {
38 SkRect cur_bounds = input_bounds;
39 SkRect* ret = &output_bounds;
40 // We set this result in case neither filter is present.
41 output_bounds = input_bounds;
42 if (inner_) {
43 if (!inner_->map_local_bounds(cur_bounds, output_bounds)) {
44 ret = nullptr;
45 }
46 cur_bounds = output_bounds;
47 }
48 if (outer_) {
49 if (!outer_->map_local_bounds(cur_bounds, output_bounds)) {
50 ret = nullptr;
51 }
52 }
53 return ret;
54}

◆ matrix_capability()

MatrixCapability flutter::DlComposeImageFilter::matrix_capability ( ) const
inlineoverridevirtual

Reimplemented from flutter::DlImageFilter.

Definition at line 565 of file dl_image_filter.h.

565 {
566 return std::min(outer_->matrix_capability(), inner_->matrix_capability());
567 }

◆ modifies_transparent_black()

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

Implements flutter::DlImageFilter.

Definition at line 544 of file dl_image_filter.h.

544 {
545 if (inner_ && inner_->modifies_transparent_black()) {
546 return true;
547 }
548 if (outer_ && outer_->modifies_transparent_black()) {
549 return true;
550 }
551 return false;
552 }

◆ outer()

std::shared_ptr< const DlImageFilter > flutter::DlComposeImageFilter::outer ( ) const
inline

Definition at line 539 of file dl_image_filter.h.

539{ return outer_; }

◆ shared()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 530 of file dl_image_filter.h.

530 {
531 return std::make_shared<DlComposeImageFilter>(this);
532 }

◆ size()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 537 of file dl_image_filter.h.

537{ return sizeof(*this); }

◆ type()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 534 of file dl_image_filter.h.

534 {
536 }

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