Flutter Impeller
image_filter.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_TOOLKIT_INTEROP_IMAGE_FILTER_H_
6 #define FLUTTER_IMPELLER_TOOLKIT_INTEROP_IMAGE_FILTER_H_
7 
8 #include "flutter/display_list/effects/dl_image_filter.h"
13 
14 namespace impeller::interop {
15 
16 class ImageFilter final
17  : public Object<ImageFilter,
18  IMPELLER_INTERNAL_HANDLE_NAME(ImpellerImageFilter)> {
19  public:
21  Scalar y_sigma,
22  flutter::DlTileMode tile_mode);
23 
24  static ScopedObject<ImageFilter> MakeDilate(Scalar x_radius, Scalar y_radius);
25 
26  static ScopedObject<ImageFilter> MakeErode(Scalar x_radius, Scalar y_radius);
27 
29  const Matrix& matrix,
30  flutter::DlImageSampling sampling);
31 
33  const ImageFilter& inner);
34 
36  const Context& context,
37  const FragmentProgram& program,
38  std::vector<std::shared_ptr<flutter::DlColorSource>> samplers,
39  std::shared_ptr<std::vector<uint8_t>> uniform_data);
40 
41  explicit ImageFilter(std::shared_ptr<flutter::DlImageFilter> filter);
42 
43  ~ImageFilter() override;
44 
45  ImageFilter(const ImageFilter&) = delete;
46 
47  ImageFilter& operator=(const ImageFilter&) = delete;
48 
49  const std::shared_ptr<flutter::DlImageFilter>& GetImageFilter() const;
50 
51  private:
52  std::shared_ptr<flutter::DlImageFilter> filter_;
53 };
54 
55 } // namespace impeller::interop
56 
57 #endif // FLUTTER_IMPELLER_TOOLKIT_INTEROP_IMAGE_FILTER_H_
static ScopedObject< ImageFilter > MakeDilate(Scalar x_radius, Scalar y_radius)
Definition: image_filter.cc:28
ImageFilter(std::shared_ptr< flutter::DlImageFilter > filter)
Definition: image_filter.cc:13
static ScopedObject< ImageFilter > MakeFragmentProgram(const Context &context, const FragmentProgram &program, std::vector< std::shared_ptr< flutter::DlColorSource >> samplers, std::shared_ptr< std::vector< uint8_t >> uniform_data)
Definition: image_filter.cc:56
ImageFilter & operator=(const ImageFilter &)=delete
static ScopedObject< ImageFilter > MakeErode(Scalar x_radius, Scalar y_radius)
Definition: image_filter.cc:37
const std::shared_ptr< flutter::DlImageFilter > & GetImageFilter() const
Definition: image_filter.cc:95
static ScopedObject< ImageFilter > MakeCompose(const ImageFilter &outer, const ImageFilter &inner)
Definition: image_filter.cc:85
ImageFilter(const ImageFilter &)=delete
static ScopedObject< ImageFilter > MakeBlur(Scalar x_sigma, Scalar y_sigma, flutter::DlTileMode tile_mode)
Definition: image_filter.cc:18
static ScopedObject< ImageFilter > MakeMatrix(const Matrix &matrix, flutter::DlImageSampling sampling)
Definition: image_filter.cc:46
float Scalar
Definition: scalar.h:19
A 4x4 matrix using column-major storage.
Definition: matrix.h:37