Flutter Impeller
color_filter.cc
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 
6 
7 namespace impeller::interop {
8 
10  auto filter = flutter::DlColorFilter::MakeBlend(ToDisplayListType(color),
11  ToDisplayListType(mode));
12  if (!filter) {
13  return nullptr;
14  }
15  return Create<ColorFilter>(std::move(filter));
16 }
17 
19  auto filter = flutter::DlColorFilter::MakeMatrix(matrix);
20  if (!filter) {
21  return nullptr;
22  }
23  return Create<ColorFilter>(std::move(filter));
24 }
25 
26 ColorFilter::ColorFilter(std::shared_ptr<const flutter::DlColorFilter> filter)
27  : filter_(std::move(filter)) {}
28 
29 ColorFilter::~ColorFilter() = default;
30 
31 const std::shared_ptr<const flutter::DlColorFilter>&
33  return filter_;
34 }
35 
36 } // namespace impeller::interop
const std::shared_ptr< const flutter::DlColorFilter > & GetColorFilter() const
Definition: color_filter.cc:32
ColorFilter(std::shared_ptr< const flutter::DlColorFilter > filter)
Definition: color_filter.cc:26
static ScopedObject< ColorFilter > MakeMatrix(const float matrix[20])
Definition: color_filter.cc:18
static ScopedObject< ColorFilter > MakeBlend(Color color, BlendMode mode)
Definition: color_filter.cc:9
constexpr flutter::DlColor ToDisplayListType(Color color)
Definition: formats.h:89
BlendMode
Definition: color.h:58
Definition: comparable.h:95