Flutter Engine
The Flutter Engine
Public Member Functions | Protected Member Functions | List of all members
flutter::DlLocalMatrixImageFilter Class Referencefinal

#include <dl_image_filter.h>

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

Public Member Functions

 DlLocalMatrixImageFilter (const SkMatrix &matrix, 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 SkMatrixmatrix () const
 
const std::shared_ptr< DlImageFilterimage_filter () const
 
const DlLocalMatrixImageFilterasLocalMatrix () 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
 
- 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 DlComposeImageFilterasCompose () const
 
virtual const DlColorFilterImageFilterasColorFilter () const
 
virtual bool modifies_transparent_black () const =0
 
virtual SkRectmap_local_bounds (const SkRect &input_bounds, SkRect &output_bounds) const =0
 
virtual SkIRectmap_device_bounds (const SkIRect &input_bounds, const SkMatrix &ctm, SkIRect &output_bounds) const =0
 
virtual SkIRectget_input_device_bounds (const SkIRect &output_bounds, const SkMatrix &ctm, SkIRect &input_bounds) const =0
 
virtual MatrixCapability matrix_capability () const
 
- Public Member Functions inherited from flutter::DlAttribute< DlImageFilter, DlImageFilterType >
virtual DlImageFilterType type () const=0
 
virtual size_t size () const=0
 
virtual std::shared_ptr< DlImageFiltershared () const=0
 
bool operator== (DlImageFilter const &other) const
 
bool operator!= (DlImageFilter const &other) const
 
virtual ~DlAttribute ()=default
 

Protected Member Functions

bool equals_ (const DlImageFilter &other) const override
 
virtual bool equals_ (DlImageFilter const &other) const=0
 

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 665 of file dl_image_filter.h.

Constructor & Destructor Documentation

◆ DlLocalMatrixImageFilter() [1/3]

flutter::DlLocalMatrixImageFilter::DlLocalMatrixImageFilter ( const SkMatrix matrix,
std::shared_ptr< DlImageFilter filter 
)
inlineexplicit

Definition at line 667 of file dl_image_filter.h.

669 : matrix_(matrix), image_filter_(std::move(filter)) {}
const SkMatrix & matrix() const

◆ DlLocalMatrixImageFilter() [2/3]

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

Definition at line 670 of file dl_image_filter.h.

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

◆ DlLocalMatrixImageFilter() [3/3]

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

Definition at line 672 of file dl_image_filter.h.

673 : DlLocalMatrixImageFilter(&filter) {}

Member Function Documentation

◆ asLocalMatrix()

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

Reimplemented from flutter::DlImageFilter.

Definition at line 689 of file dl_image_filter.h.

689 {
690 return this;
691 }

◆ equals_()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 732 of file dl_image_filter.h.

732 {
734 auto that = static_cast<const DlLocalMatrixImageFilter*>(&other);
735 return (matrix_ == that->matrix_ &&
736 Equals(image_filter_, that->image_filter_));
737 }
#define FML_DCHECK(condition)
Definition: logging.h:103
bool Equals(const T *a, const T *b)
Definition: dl_comparable.h:19

◆ get_input_device_bounds()

SkIRect * flutter::DlLocalMatrixImageFilter::get_input_device_bounds ( const SkIRect output_bounds,
const SkMatrix ctm,
SkIRect input_bounds 
) const
inlineoverridevirtual

Implements flutter::DlImageFilter.

Definition at line 720 of file dl_image_filter.h.

722 {
723 if (!image_filter_) {
724 input_bounds = output_bounds;
725 return &input_bounds;
726 }
727 return image_filter_->get_input_device_bounds(
728 output_bounds, SkMatrix::Concat(ctm, matrix_), input_bounds);
729 }
static SkMatrix Concat(const SkMatrix &a, const SkMatrix &b)
Definition: SkMatrix.h:1775

◆ image_filter()

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

Definition at line 685 of file dl_image_filter.h.

685 {
686 return image_filter_;
687 }

◆ map_device_bounds()

SkIRect * flutter::DlLocalMatrixImageFilter::map_device_bounds ( const SkIRect input_bounds,
const SkMatrix ctm,
SkIRect output_bounds 
) const
inlineoverridevirtual

Implements flutter::DlImageFilter.

Definition at line 709 of file dl_image_filter.h.

711 {
712 if (!image_filter_) {
713 output_bounds = input_bounds;
714 return &output_bounds;
715 }
716 return image_filter_->map_device_bounds(
717 input_bounds, SkMatrix::Concat(ctm, matrix_), output_bounds);
718 }

◆ map_local_bounds()

SkRect * flutter::DlLocalMatrixImageFilter::map_local_bounds ( const SkRect input_bounds,
SkRect output_bounds 
) const
inlineoverridevirtual

Implements flutter::DlImageFilter.

Definition at line 700 of file dl_image_filter.h.

701 {
702 if (!image_filter_) {
703 output_bounds = input_bounds;
704 return &output_bounds;
705 }
706 return image_filter_->map_local_bounds(input_bounds, output_bounds);
707 }

◆ matrix()

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

Definition at line 683 of file dl_image_filter.h.

683{ return matrix_; }

◆ modifies_transparent_black()

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

Implements flutter::DlImageFilter.

Definition at line 693 of file dl_image_filter.h.

693 {
694 if (!image_filter_) {
695 return false;
696 }
697 return image_filter_->modifies_transparent_black();
698 }

◆ shared()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 674 of file dl_image_filter.h.

674 {
675 return std::make_shared<DlLocalMatrixImageFilter>(this);
676 }

◆ size()

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

Implements flutter::DlAttribute< DlImageFilter, DlImageFilterType >.

Definition at line 681 of file dl_image_filter.h.

681{ return sizeof(*this); }

◆ type()

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

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