| Flutter Impeller |

Public Member Functions | List of all members
impeller::ContentsFilterInput Class Referencefinal

`#include <contents_filter_input.h>`

Inheritance diagram for impeller::ContentsFilterInput:

## Public Member Functions
| ~ContentsFilterInput () override
Variant | GetInput () const override
std::optional< Snapshot > | GetSnapshot (const std::string &label, const ContentContext &renderer, const Entity &entity, std::optional< Rect > coverage_limit, int32_t mip_count) const override
std::optional< Rect > | GetCoverage (const Entity &entity) const override
Public Member Functions inherited from impeller::FilterInput
virtual | ~FilterInput ()
std::optional< Rect > | GetLocalCoverage (const Entity &entity) const
virtual std::optional< Rect > | GetSourceCoverage (const Matrix &effect_transform, const Rect &output_limit) const
virtual Matrix | GetLocalTransform (const Entity &entity) const
| Get the local transform of this filter input. This transform is relative to the `Entity` transform space. More...
virtual Matrix | GetTransform (const Entity &entity) const
| Get the transform of this `FilterInput`. This is equivalent to calling `entity.GetTransform() * GetLocalTransform()`. More...
virtual bool | IsTranslationOnly () const
virtual bool | IsLeaf () const
| Returns `true` unless this input is a `FilterInput`, which may take other inputs. More...
virtual void | SetLeafInputs (const FilterInput::Vector &inputs)
| Replaces the inputs of all leaf `FilterContents` with a new set of `inputs`. More...
virtual void | SetEffectTransform (const Matrix &matrix)
| Sets the effect transform of filter inputs. More...
virtual void | SetRenderingMode (Entity::RenderingMode rendering_mode)
| Turns on subpass mode for filter inputs. More...

## Additional Inherited Members
Public Types inherited from impeller::FilterInput
using | Ref = std::shared_ptr< FilterInput >
using | Vector = std::vector< FilterInput::Ref >
using | Variant = std::variant< std::shared_ptr< FilterContents >, std::shared_ptr< Contents >, std::shared_ptr< Texture >, Rect >
Static Public Member Functions inherited from impeller::FilterInput
static FilterInput::Ref | Make (Variant input, bool msaa_enabled=true)
static FilterInput::Ref | Make (std::shared_ptr< Texture > input, Matrix local_transform)
static FilterInput::Vector | Make (std::initializer_list< Variant > inputs)

## Detailed Description

Definition at line 12 of file contents_filter_input.h.

## Constructor & Destructor Documentation

## ◆ ~ContentsFilterInput()

impeller::ContentsFilterInput::~ContentsFilterInput | ( |  | ) |
| overridedefault

## Member Function Documentation

## ◆ GetCoverage()

std::optional< Rect > impeller::ContentsFilterInput::GetCoverage | ( | const Entity & | entity | ) | const
| overridevirtual

Implements impeller::FilterInput.

Definition at line 46 of file contents_filter_input.cc.

47 {
48 return contents_->GetCoverage(entity);
49 }

## ◆ GetInput()

FilterInput::Variant impeller::ContentsFilterInput::GetInput | ( |  | ) | const
| overridevirtual

Implements impeller::FilterInput.

Definition at line 20 of file contents_filter_input.cc.

20 {
21 return contents_;
22 }

## ◆ GetSnapshot()

std::optional< Snapshot > impeller::ContentsFilterInput::GetSnapshot | ( | const std::string & | label,
|  | const ContentContext & | renderer,
|  | const Entity & | entity,
|  | std::optional< Rect > | coverage_limit,
|  | int32_t | mip_count
| ) |  | const
| overridevirtual

Implements impeller::FilterInput.

Definition at line 24 of file contents_filter_input.cc.

29 {
30 if (!coverage_limit.has_value() && entity.GetContents()) {
31 coverage_limit = entity.GetContents()->GetCoverageHint();
32 }
33 if (!snapshot_.has_value()) {
34 snapshot_ = contents_->RenderToSnapshot(
35 renderer, // renderer
36 entity, // entity
37 coverage_limit, // coverage_limit
38 std::nullopt, // sampler_descriptor
39 msaa_enabled_, // msaa_enabled
40 /*mip_count=*/mip_count,
41 SPrintF("Contents to %s Filter Snapshot", label.c_str())); // label
42 }
43 return snapshot_;
44 }

References impeller::Entity::GetContents(), and impeller::SPrintF().

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

- impeller/entity/contents/filters/inputs/contents_filter_input.h
- impeller/entity/contents/filters/inputs/contents_filter_input.cc

impeller::SPrintF
std::string SPrintF(const char *format,...)
Definition: strings.cc:12