Flutter Engine
 
Loading...
Searching...
No Matches
dl_erode_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_DISPLAY_LIST_EFFECTS_IMAGE_FILTERS_DL_ERODE_IMAGE_FILTER_H_
6#define FLUTTER_DISPLAY_LIST_EFFECTS_IMAGE_FILTERS_DL_ERODE_IMAGE_FILTER_H_
7
8#include <utility>
9
11
12namespace flutter {
13
14class DlErodeImageFilter final : public DlImageFilter {
15 public:
18 explicit DlErodeImageFilter(const DlErodeImageFilter* filter)
19 : DlErodeImageFilter(filter->radius_x_, filter->radius_y_) {}
22
23 static std::shared_ptr<DlImageFilter> Make(DlScalar radius_x,
25
26 std::shared_ptr<DlImageFilter> shared() const override {
27 return std::make_shared<DlErodeImageFilter>(this);
28 }
29
31 size_t size() const override { return sizeof(*this); }
32
33 const DlErodeImageFilter* asErode() const override { return this; }
34
35 bool modifies_transparent_black() const override { return false; }
36
37 DlRect* map_local_bounds(const DlRect& input_bounds,
38 DlRect& output_bounds) const override;
39
40 DlIRect* map_device_bounds(const DlIRect& input_bounds,
41 const DlMatrix& ctm,
42 DlIRect& output_bounds) const override;
43
44 DlIRect* get_input_device_bounds(const DlIRect& output_bounds,
45 const DlMatrix& ctm,
46 DlIRect& input_bounds) const override;
47
48 DlScalar radius_x() const { return radius_x_; }
49 DlScalar radius_y() const { return radius_y_; }
50
51 protected:
52 bool equals_(const DlImageFilter& other) const override;
53
54 private:
55 DlScalar radius_x_;
56 DlScalar radius_y_;
57};
58
59} // namespace flutter
60
61#endif // FLUTTER_DISPLAY_LIST_EFFECTS_IMAGE_FILTERS_DL_ERODE_IMAGE_FILTER_H_
bool equals_(const DlImageFilter &other) const override
DlIRect * get_input_device_bounds(const DlIRect &output_bounds, const DlMatrix &ctm, DlIRect &input_bounds) const override
const DlErodeImageFilter * asErode() const override
std::shared_ptr< DlImageFilter > shared() const override
DlRect * map_local_bounds(const DlRect &input_bounds, DlRect &output_bounds) const override
DlImageFilterType type() const override
DlIRect * map_device_bounds(const DlIRect &input_bounds, const DlMatrix &ctm, DlIRect &output_bounds) const override
bool modifies_transparent_black() const override
DlErodeImageFilter(const DlErodeImageFilter &filter)
DlErodeImageFilter(DlScalar radius_x, DlScalar radius_y)
DlErodeImageFilter(const DlErodeImageFilter *filter)
static std::shared_ptr< DlImageFilter > Make(DlScalar radius_x, DlScalar radius_y)
impeller::Scalar DlScalar
A 4x4 matrix using column-major storage.
Definition matrix.h:37