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

#include <dl_image_color_source.h>

Inheritance diagram for flutter::DlImageColorSource:
flutter::DlMatrixColorSourceBase flutter::DlColorSource flutter::DlAttribute< DlColorSource, DlColorSourceType >

Public Member Functions

 DlImageColorSource (sk_sp< const DlImage > image, DlTileMode horizontal_tile_mode, DlTileMode vertical_tile_mode, DlImageSampling sampling=DlImageSampling::kLinear, const DlMatrix *matrix=nullptr)
 
bool isUIThreadSafe () const override
 If the underlying platform data held by this object is held in a way that it can be stored and potentially released from the UI thread, this method returns true.
 
const DlImageColorSourceasImage () const override
 
std::shared_ptr< DlColorSourceshared () const override
 
std::shared_ptr< DlColorSourceWithSampling (DlImageSampling sampling) const
 
DlColorSourceType type () const override
 
size_t size () const override
 
bool is_opaque () const override
 
sk_sp< const DlImageimage () const
 
DlTileMode horizontal_tile_mode () const
 
DlTileMode vertical_tile_mode () const
 
DlImageSampling sampling () const
 
- Public Member Functions inherited from flutter::DlMatrixColorSourceBase
const DlMatrixmatrix () const
 
const DlMatrixmatrix_ptr () const
 
- Public Member Functions inherited from flutter::DlColorSource
virtual bool isGradient () const
 If the underlying platform data represents a gradient.
 
virtual const DlLinearGradientColorSourceasLinearGradient () const
 
virtual const DlRadialGradientColorSourceasRadialGradient () const
 
virtual const DlConicalGradientColorSourceasConicalGradient () const
 
virtual const DlSweepGradientColorSourceasSweepGradient () const
 
virtual const DlRuntimeEffectColorSourceasRuntimeEffect () const
 
- Public Member Functions inherited from flutter::DlAttribute< DlColorSource, DlColorSourceType >
bool operator== (DlColorSource const &other) const
 
bool operator!= (DlColorSource const &other) const
 
virtual ~DlAttribute ()=default
 

Protected Member Functions

bool equals_ (DlColorSource const &other) const override
 
- Protected Member Functions inherited from flutter::DlMatrixColorSourceBase
 DlMatrixColorSourceBase (const DlMatrix *matrix)
 
- Protected Member Functions inherited from flutter::DlColorSource
 DlColorSource ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from flutter::DlColorSource
static std::shared_ptr< DlColorSourceMakeImage (const sk_sp< const DlImage > &image, DlTileMode horizontal_tile_mode, DlTileMode vertical_tile_mode, DlImageSampling sampling=DlImageSampling::kLinear, const DlMatrix *matrix=nullptr)
 
static std::shared_ptr< DlColorSourceMakeLinear (const DlPoint start_point, const DlPoint end_point, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 
static std::shared_ptr< DlColorSourceMakeLinear (const DlPoint start_point, const DlPoint end_point, uint32_t stop_count, const DlScalar *colors_argb, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 Make a linear gradient.
 
static std::shared_ptr< DlColorSourceMakeRadial (DlPoint center, DlScalar radius, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 
static std::shared_ptr< DlColorSourceMakeRadial (DlPoint center, DlScalar radius, uint32_t stop_count, const DlScalar *colors_argb, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 Make a radial gradient.
 
static std::shared_ptr< DlColorSourceMakeConical (DlPoint start_center, DlScalar start_radius, DlPoint end_center, DlScalar end_radius, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 
static std::shared_ptr< DlColorSourceMakeConical (DlPoint start_center, DlScalar start_radius, DlPoint end_center, DlScalar end_radius, uint32_t stop_count, const DlScalar *colors_argb, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 Make a conical gradient.
 
static std::shared_ptr< DlColorSourceMakeSweep (DlPoint center, DlScalar start, DlScalar end, uint32_t stop_count, const DlColor *colors, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 
static std::shared_ptr< DlColorSourceMakeSweep (DlPoint center, DlScalar start, DlScalar end, uint32_t stop_count, const DlScalar *colors_argb, const float *stops, DlTileMode tile_mode, const DlMatrix *matrix=nullptr)
 Make a sweep gradient.
 
static std::shared_ptr< DlColorSourceMakeRuntimeEffect (sk_sp< DlRuntimeEffect > runtime_effect, std::vector< std::shared_ptr< DlColorSource > > samplers, std::shared_ptr< std::vector< uint8_t > > uniform_data)
 

Detailed Description

Definition at line 12 of file dl_image_color_source.h.

Constructor & Destructor Documentation

◆ DlImageColorSource()

flutter::DlImageColorSource::DlImageColorSource ( sk_sp< const DlImage image,
DlTileMode  horizontal_tile_mode,
DlTileMode  vertical_tile_mode,
DlImageSampling  sampling = DlImageSampling::kLinear,
const DlMatrix matrix = nullptr 
)

Definition at line 9 of file dl_image_color_source.cc.

15 image_(std::move(image)),
16 horizontal_tile_mode_(horizontal_tile_mode),
17 vertical_tile_mode_(vertical_tile_mode),
18 sampling_(sampling) {}
DlImageSampling sampling() const
DlTileMode horizontal_tile_mode() const
sk_sp< const DlImage > image() const

Member Function Documentation

◆ asImage()

const DlImageColorSource * flutter::DlImageColorSource::asImage ( ) const
inlineoverridevirtual

Reimplemented from flutter::DlColorSource.

Definition at line 24 of file dl_image_color_source.h.

24{ return this; }

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

◆ equals_()

bool flutter::DlImageColorSource::equals_ ( DlColorSource const &  other) const
overrideprotectedvirtual

Implements flutter::DlAttribute< DlColorSource, DlColorSourceType >.

Definition at line 27 of file dl_image_color_source.cc.

27 {
29 auto that = static_cast<DlImageColorSource const*>(&other);
30 return (image_->Equals(that->image_) && matrix() == that->matrix() &&
31 horizontal_tile_mode_ == that->horizontal_tile_mode_ &&
32 vertical_tile_mode_ == that->vertical_tile_mode_ &&
33 sampling_ == that->sampling_);
34}
DlImageColorSource(sk_sp< const DlImage > image, DlTileMode horizontal_tile_mode, DlTileMode vertical_tile_mode, DlImageSampling sampling=DlImageSampling::kLinear, const DlMatrix *matrix=nullptr)
#define FML_DCHECK(condition)
Definition logging.h:122

References FML_DCHECK, flutter::kImage, flutter::DlMatrixColorSourceBase::matrix(), and flutter::DlAttribute< D, T >::type().

◆ horizontal_tile_mode()

DlTileMode flutter::DlImageColorSource::horizontal_tile_mode ( ) const
inline

◆ image()

sk_sp< const DlImage > flutter::DlImageColorSource::image ( ) const
inline

◆ is_opaque()

bool flutter::DlImageColorSource::is_opaque ( ) const
inlineoverridevirtual

Implements flutter::DlColorSource.

Definition at line 35 of file dl_image_color_source.h.

35{ return image_->isOpaque(); }

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

◆ isUIThreadSafe()

bool flutter::DlImageColorSource::isUIThreadSafe ( ) const
inlineoverridevirtual

If the underlying platform data held by this object is held in a way that it can be stored and potentially released from the UI thread, this method returns true.

Returns
True if the class has no GPU related resources or if any that it holds are held in a thread-safe manner.

Implements flutter::DlColorSource.

Definition at line 20 of file dl_image_color_source.h.

20 {
21 return image_ ? image_->isUIThreadSafe() : true;
22 }

◆ sampling()

◆ shared()

std::shared_ptr< DlColorSource > flutter::DlImageColorSource::shared ( ) const
inlineoverridevirtual

Implements flutter::DlAttribute< DlColorSource, DlColorSourceType >.

Definition at line 26 of file dl_image_color_source.h.

26 {
27 return WithSampling(sampling_);
28 }
std::shared_ptr< DlColorSource > WithSampling(DlImageSampling sampling) const

References WithSampling().

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

◆ size()

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

Implements flutter::DlAttribute< DlColorSource, DlColorSourceType >.

Definition at line 33 of file dl_image_color_source.h.

33{ return sizeof(*this); }

◆ type()

DlColorSourceType flutter::DlImageColorSource::type ( ) const
inlineoverridevirtual

◆ vertical_tile_mode()

DlTileMode flutter::DlImageColorSource::vertical_tile_mode ( ) const
inline

◆ WithSampling()

std::shared_ptr< DlColorSource > flutter::DlImageColorSource::WithSampling ( DlImageSampling  sampling) const

Definition at line 20 of file dl_image_color_source.cc.

21 {
22 return std::make_shared<DlImageColorSource>(image_, horizontal_tile_mode_,
23 vertical_tile_mode_, sampling,
24 matrix_ptr());
25}

References flutter::DlMatrixColorSourceBase::matrix_ptr(), and sampling().

Referenced by flutter::ImageShader::shader(), and shared().


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