| Flutter Impeller |

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

`#include <texture_filter_input.h>`

Inheritance diagram for impeller::TextureFilterInput:

## Public Member Functions
| ~TextureFilterInput () 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
Matrix | GetLocalTransform (const Entity &entity) const override
| Get the local transform of this filter input. This transform is relative to the `Entity` transform space. More...
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 | 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 14 of file texture_filter_input.h.

## Constructor & Destructor Documentation

## ◆ ~TextureFilterInput()

impeller::TextureFilterInput::~TextureFilterInput | ( |  | ) |
| override default

## Member Function Documentation

## ◆ GetCoverage()

std::optional< Rect > impeller::TextureFilterInput::GetCoverage | ( | const Entity & | entity | ) | const
| override virtual

Implements impeller::FilterInput.

Definition at line 38 of file texture_filter_input.cc.

39 {
40 return Rect::MakeSize(texture_->GetSize())
41 .TransformBounds(GetTransform(entity));
42 }

References impeller::FilterInput::GetTransform(), impeller::TRect< Scalar >::MakeSize(), and impeller::TRect< T >::TransformBounds().

## ◆ GetInput()

FilterInput::Variant impeller::TextureFilterInput::GetInput | ( |  | ) | const
| override virtual

Implements impeller::FilterInput.

Definition at line 19 of file texture_filter_input.cc.

19 {
20 return texture_;
21 }

## ◆ GetLocalTransform()

Matrix impeller::TextureFilterInput::GetLocalTransform | ( | const Entity & | entity | ) | const
| override virtual

Get the local transform of this filter input. This transform is relative to the `Entity` transform space.

Reimplemented from impeller::FilterInput.

Definition at line 44 of file texture_filter_input.cc.

44 {
45 return local_transform_;
46 }

## ◆ GetSnapshot()

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

Implements impeller::FilterInput.

Definition at line 23 of file texture_filter_input.cc.

28 {
29 auto snapshot =
30 Snapshot{.texture = texture_, .transform = GetTransform(entity)};
31 if (texture_->GetMipCount() > 1) {
32 snapshot.sampler_descriptor.label = "TextureFilterInput Trilinear Sampler";
33 snapshot.sampler_descriptor.mip_filter = MipFilter::kLinear;
34 }
35 return snapshot;
36 }

References impeller::FilterInput::GetTransform(), impeller::kLinear, and impeller::Snapshot::texture.

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

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

impeller::TRect::TransformBounds
constexpr TRect TransformBounds(const Matrix &transform) const
Creates a new bounding box that contains this transformed rectangle.
Definition: rect.h:466
impeller::FilterInput::GetTransform
virtual Matrix GetTransform(const Entity &entity) const
Get the transform of this FilterInput. This is equivalent to calling entity.GetTransform() * GetLocal...
Definition: filter_input.cc:75
impeller::TRect< Scalar >::MakeSize
constexpr static TRect MakeSize(const TSize< U > &size)
Definition: rect.h:150
impeller::MipFilter::kLinear
@ kLinear
Sample from the two nearest mip levels and linearly interpolate.