Flutter Engine
 
Loading...
Searching...
No Matches
matrix_filter_contents.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_ENTITY_CONTENTS_FILTERS_MATRIX_FILTER_CONTENTS_H_
6#define FLUTTER_IMPELLER_ENTITY_CONTENTS_FILTERS_MATRIX_FILTER_CONTENTS_H_
7
10
11namespace impeller {
12
14 public:
16
18
19 void SetMatrix(Matrix matrix);
20
21 // |FilterContents|
22 void SetRenderingMode(Entity::RenderingMode rendering_mode) override;
23
25
26 // |FilterContents|
27 std::optional<Rect> GetFilterCoverage(
28 const FilterInput::Vector& inputs,
29 const Entity& entity,
30 const Matrix& effect_transform) const override;
31
32 private:
33 // |FilterContents|
34 std::optional<Entity> RenderFilter(
35 const FilterInput::Vector& input_textures,
36 const ContentContext& renderer,
37 const Entity& entity,
38 const Matrix& effect_transform,
39 const Rect& coverage,
40 const std::optional<Rect>& coverage_hint) const override;
41
42 // |FilterContents|
43 std::optional<Rect> GetFilterSourceCoverage(
44 const Matrix& effect_transform,
45 const Rect& output_limit) const override;
46
47 Matrix matrix_;
48 SamplerDescriptor sampler_descriptor_ = {};
50
52
53 MatrixFilterContents& operator=(const MatrixFilterContents&) = delete;
54};
55
56} // namespace impeller
57
58#endif // FLUTTER_IMPELLER_ENTITY_CONTENTS_FILTERS_MATRIX_FILTER_CONTENTS_H_
std::vector< FilterInput::Ref > Vector
std::optional< Rect > GetFilterCoverage(const FilterInput::Vector &inputs, const Entity &entity, const Matrix &effect_transform) const override
Internal utility method for |GetLocalCoverage| that computes the output coverage of this filter acros...
void SetRenderingMode(Entity::RenderingMode rendering_mode) override
Marks this filter chain as applying in a subpass scenario.
void SetSamplerDescriptor(const SamplerDescriptor &desc)
A 4x4 matrix using column-major storage.
Definition matrix.h:37