Flutter Impeller
impeller::SolidRSuperellipseBlurContents Class Referencefinal

Draws a fast solid color blur of an rounded superellipse. Only supports RSuperellipses with fully symmetrical radii. Also produces correct results for rectangles (corner_radius=0) and circles (corner_radius=width/2=height/2). More...

#include <solid_rsuperellipse_blur_contents.h>

Inheritance diagram for impeller::SolidRSuperellipseBlurContents:
impeller::SolidRRectLikeBlurContents impeller::Contents

Public Member Functions

 SolidRSuperellipseBlurContents ()
 
 ~SolidRSuperellipseBlurContents () override
 
- Public Member Functions inherited from impeller::SolidRRectLikeBlurContents
 ~SolidRRectLikeBlurContents () override
 
void SetShape (Rect rect, Scalar corner_radius)
 
void SetSigma (Sigma sigma)
 
void SetColor (Color color)
 
Color GetColor () const
 
std::optional< RectGetCoverage (const Entity &entity) const override
 Get the area of the render pass that will be affected when this contents is rendered. More...
 
bool Render (const ContentContext &renderer, const Entity &entity, RenderPass &pass) const override
 
bool ApplyColorFilter (const ColorFilterProc &color_filter_proc) override
 If possible, applies a color filter to this contents inputs on the CPU. More...
 
- Public Member Functions inherited from impeller::Contents
 Contents ()
 
virtual ~Contents ()
 
void SetCoverageHint (std::optional< Rect > coverage_hint)
 Hint that specifies the coverage area of this Contents that will actually be used during rendering. This is for optimization purposes only and can not be relied on as a clip. May optionally affect the result of GetCoverage(). More...
 
const std::optional< Rect > & GetCoverageHint () const
 
virtual bool IsOpaque (const Matrix &transform) const
 Whether this Contents only emits opaque source colors from the fragment stage. This value does not account for any entity properties (e.g. the blend mode), clips/visibility culling, or inherited opacity. More...
 
virtual std::optional< SnapshotRenderToSnapshot (const ContentContext &renderer, const Entity &entity, std::optional< Rect > coverage_limit=std::nullopt, const std::optional< SamplerDescriptor > &sampler_descriptor=std::nullopt, bool msaa_enabled=true, int32_t mip_count=1, std::string_view label="Snapshot") const
 Render this contents to a snapshot, respecting the entity's transform, path, clip depth, and blend mode. The result texture size is always the size of GetCoverage(entity). More...
 
std::optional< SizeGetColorSourceSize () const
 Return the color source's intrinsic size, if available. More...
 
void SetColorSourceSize (Size size)
 
virtual void SetInheritedOpacity (Scalar opacity)
 Inherit the provided opacity. More...
 
virtual std::optional< ColorAsBackgroundColor (const Entity &entity, ISize target_size) const
 Returns a color if this Contents will flood the given target_size with a color. This output color is the "Source" color that will be used for the Entity's blend operation. More...
 

Additional Inherited Members

- Public Types inherited from impeller::Contents
using ColorFilterProc = std::function< Color(Color)>
 
using RenderProc = std::function< bool(const ContentContext &renderer, const Entity &entity, RenderPass &pass)>
 
using CoverageProc = std::function< std::optional< Rect >(const Entity &entity)>
 
- Static Public Member Functions inherited from impeller::Contents
static std::shared_ptr< ContentsMakeAnonymous (RenderProc render_proc, CoverageProc coverage_proc)
 
- Protected Member Functions inherited from impeller::SolidRRectLikeBlurContents
 SolidRRectLikeBlurContents ()
 
Rect GetRect () const
 
Scalar GetCornerRadius () const
 
Sigma GetSigma () const
 
- Static Protected Member Functions inherited from impeller::SolidRRectLikeBlurContents
static Vector4 Concat (Vector2 &a, Vector2 &b)
 

Detailed Description

Draws a fast solid color blur of an rounded superellipse. Only supports RSuperellipses with fully symmetrical radii. Also produces correct results for rectangles (corner_radius=0) and circles (corner_radius=width/2=height/2).

Definition at line 23 of file solid_rsuperellipse_blur_contents.h.

Constructor & Destructor Documentation

◆ SolidRSuperellipseBlurContents()

impeller::SolidRSuperellipseBlurContents::SolidRSuperellipseBlurContents ( )
default

◆ ~SolidRSuperellipseBlurContents()

impeller::SolidRSuperellipseBlurContents::~SolidRSuperellipseBlurContents ( )
overridedefault

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