#include <conical_gradient_contents.h>
Public Member Functions | |
| ConicalGradientContents () | |
| ~ConicalGradientContents () override | |
| 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... | |
| void | SetCenterAndRadius (Point center, Scalar radius) |
| void | SetColors (std::vector< Color > colors) |
| void | SetStops (std::vector< Scalar > stops) |
| const std::vector< Color > & | GetColors () const |
| const std::vector< Scalar > & | GetStops () const |
| void | SetTileMode (Entity::TileMode tile_mode) |
| void | SetFocus (std::optional< Point > focus, Scalar radius) |
Public Member Functions inherited from impeller::ColorSourceContents | |
| ColorSourceContents () | |
| ~ColorSourceContents () override | |
| void | SetGeometry (const Geometry *geometry) |
| Set the geometry that this contents will use to render. More... | |
| const Geometry * | GetGeometry () const |
| Get the geometry that this contents will use to render. More... | |
| void | SetEffectTransform (Matrix matrix) |
| Set the effect transform for this color source. More... | |
| const Matrix & | GetInverseEffectTransform () const |
| Set the inverted effect transform for this color source. More... | |
| void | SetOpacityFactor (Scalar opacity) |
| Set the opacity factor for this color source. More... | |
| Scalar | GetOpacityFactor () const |
| Get the opacity factor for this color source. More... | |
| virtual bool | IsSolidColor () 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... | |
| void | SetInheritedOpacity (Scalar opacity) override |
| Inherit the provided opacity. 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, 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< Size > | GetColorSourceSize () const |
| Return the color source's intrinsic size, if available. More... | |
| void | SetColorSourceSize (Size size) |
| 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::ColorSourceContents | |
| using | BindFragmentCallback = std::function< bool(RenderPass &pass)> |
| using | PipelineBuilderCallback = std::function< PipelineRef(ContentContextOptions)> |
| using | CreateGeometryCallback = std::function< GeometryResult(const ContentContext &renderer, const Entity &entity, RenderPass &pass, const Geometry *geom)> |
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::ColorSourceContents | |
| template<typename VertexShaderT > | |
| static bool | DrawGeometry (const Contents *contents, const Geometry *geometry, const ContentContext &renderer, const Entity &entity, RenderPass &pass, const PipelineBuilderCallback &pipeline_callback, typename VertexShaderT::FrameInfo frame_info, const BindFragmentCallback &bind_fragment_callback, bool force_stencil=false, const CreateGeometryCallback &create_geom_callback=DefaultCreateGeometryCallback) |
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::ColorSourceContents | |
| bool | AppliesAlphaForStrokeCoverage (const Matrix &transform) const |
| Whether the entity should be treated as non-opaque due to stroke geometry requiring alpha for coverage. More... | |
| template<typename VertexShaderT > | |
| bool | DrawGeometry (const ContentContext &renderer, const Entity &entity, RenderPass &pass, const PipelineBuilderCallback &pipeline_callback, typename VertexShaderT::FrameInfo frame_info, const BindFragmentCallback &bind_fragment_callback, bool force_stencil=false, const CreateGeometryCallback &create_geom_callback=DefaultCreateGeometryCallback) const |
Static Protected Member Functions inherited from impeller::ColorSourceContents | |
| static GeometryResult | DefaultCreateGeometryCallback (const ContentContext &renderer, const Entity &entity, RenderPass &pass, const Geometry *geom) |
Definition at line 17 of file conical_gradient_contents.h.
|
default |
|
overridedefault |
|
overridevirtual |
If possible, applies a color filter to this contents inputs on the CPU.
This method will either fully apply the color filter or perform no action. Partial/incorrect application of the color filter will never occur.
| [in] | color_filter_proc | A function that filters a given unpremultiplied color to produce a new unpremultiplied color. |
Reimplemented from impeller::Contents.
Definition at line 250 of file conical_gradient_contents.cc.
| const std::vector< Color > & impeller::ConicalGradientContents::GetColors | ( | ) | const |
Definition at line 60 of file conical_gradient_contents.cc.
| const std::vector< Scalar > & impeller::ConicalGradientContents::GetStops | ( | ) | const |
Definition at line 64 of file conical_gradient_contents.cc.
|
overridevirtual |
Implements impeller::Contents.
Definition at line 82 of file conical_gradient_contents.cc.
References impeller::ContentContext::GetDeviceCapabilities(), impeller::kMaxUniformGradientStops, and impeller::Capabilities::SupportsSSBO().
Definition at line 43 of file conical_gradient_contents.cc.
| void impeller::ConicalGradientContents::SetColors | ( | std::vector< Color > | colors | ) |
Definition at line 52 of file conical_gradient_contents.cc.
Referenced by impeller::testing::TEST_P().
Definition at line 68 of file conical_gradient_contents.cc.
| void impeller::ConicalGradientContents::SetStops | ( | std::vector< Scalar > | stops | ) |
Definition at line 56 of file conical_gradient_contents.cc.
| void impeller::ConicalGradientContents::SetTileMode | ( | Entity::TileMode | tile_mode | ) |
Definition at line 48 of file conical_gradient_contents.cc.