| Flutter Impeller |

color_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 #pragma once
6
7 #include <memory>
8 #include <optional>
9
10 #include "impeller/entity/contents/filters/color_filter_contents.h"
11 #include "impeller/entity/contents/filters/inputs/filter_input.h"
12
13 namespace impeller {
14
15 // Look at example at: https://github.com/flutter/impeller/pull/132
16
17 class ColorMatrixFilterContents final : public ColorFilterContents {
18 public:
19 ColorMatrixFilterContents();
20
21 ~ColorMatrixFilterContents() override;
22
23 void SetMatrix(const ColorMatrix& matrix);
24
25 private:
26 // |FilterContents|
27 std::optional<Entity> RenderFilter(
28 const FilterInput::Vector& input_textures,
29 const ContentContext& renderer,
30 const Entity& entity,
31 const Matrix& effect_transform,
32 const Rect& coverage,
33 const std::optional<Rect>& coverage_hint) const override;
34
35 ColorMatrix matrix_;
36
37 FML_DISALLOW_COPY_AND_ASSIGN(ColorMatrixFilterContents);
38 };
39
40 } // namespace impeller
impeller::ColorFilterContents
Definition: color_filter_contents.h:11
impeller::ColorMatrixFilterContents::~ColorMatrixFilterContents
~ColorMatrixFilterContents() override
impeller::ColorMatrixFilterContents::SetMatrix
void SetMatrix(const ColorMatrix &matrix)
Definition: color_matrix_filter_contents.cc:24
impeller::Entity
Definition: entity.h:21
impeller::ColorMatrixFilterContents::ColorMatrixFilterContents
ColorMatrixFilterContents()
impeller::ColorMatrixFilterContents
Definition: color_matrix_filter_contents.h:17
filter_input.h
color_filter_contents.h
impeller::FilterInput::Vector
std::vector< FilterInput::Ref > Vector
Definition: filter_input.h:32
impeller::ColorMatrix
Definition: color.h:115
impeller
Definition: aiks_context.cc:10
impeller::ContentContext
Definition: content_context.h:344
impeller::TRect< Scalar >
impeller::Matrix
A 4x4 matrix using column-major storage.
Definition: matrix.h:36