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>
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) override |
| Color | GetColor () const |
| std::optional< Rect > | GetCoverage (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< Snapshot > | RenderToSnapshot (const ContentContext &renderer, const Entity &entity, const SnapshotOptions &options) 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< Size > | GetColorSourceSize () 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< Color > | AsBackgroundColor (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< Contents > | MakeAnonymous (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) |
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.
|
default |
|
overridedefault |