Flutter Engine
The Flutter Engine
paint_pass_delegate.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_AIKS_PAINT_PASS_DELEGATE_H_
6#define FLUTTER_IMPELLER_AIKS_PAINT_PASS_DELEGATE_H_
7
8#include <optional>
9
10#include "impeller/aiks/paint.h"
12
13namespace impeller {
14
16 public:
18
19 // |EntityPassDelgate|
21
22 // |EntityPassDelgate|
23 bool CanElide() override;
24
25 // |EntityPassDelgate|
26 bool CanCollapseIntoParentPass(EntityPass* entity_pass) override;
27
28 // |EntityPassDelgate|
29 std::shared_ptr<Contents> CreateContentsForSubpassTarget(
30 std::shared_ptr<Texture> target,
31 const Matrix& effect_transform) override;
32
33 // |EntityPassDelgate|
34 std::shared_ptr<FilterContents> WithImageFilter(
35 const FilterInput::Variant& input,
36 const Matrix& effect_transform) const override;
37
38 private:
39 const Paint paint_;
40
41 PaintPassDelegate(const PaintPassDelegate&) = delete;
42
43 PaintPassDelegate& operator=(const PaintPassDelegate&) = delete;
44};
45
46} // namespace impeller
47
48#endif // FLUTTER_IMPELLER_AIKS_PAINT_PASS_DELEGATE_H_
std::variant< std::shared_ptr< FilterContents >, std::shared_ptr< Contents >, std::shared_ptr< Texture >, Rect > Variant
Definition: filter_input.h:37
bool CanCollapseIntoParentPass(EntityPass *entity_pass) override
Whether or not this entity pass can be collapsed into the parent. If true, this method may modify the...
std::shared_ptr< FilterContents > WithImageFilter(const FilterInput::Variant &input, const Matrix &effect_transform) const override
std::shared_ptr< Contents > CreateContentsForSubpassTarget(std::shared_ptr< Texture > target, const Matrix &effect_transform) override
const Paint & paint
Definition: color_source.cc:38
uint32_t * target
A 4x4 matrix using column-major storage.
Definition: matrix.h:37