Flutter Engine
 
Loading...
Searching...
No Matches
dl_erode_image_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
7namespace flutter {
8
9std::shared_ptr<DlImageFilter> DlErodeImageFilter::Make(DlScalar radius_x,
10 DlScalar radius_y) {
11 if (std::isfinite(radius_x) && radius_x > SK_ScalarNearlyZero &&
12 std::isfinite(radius_y) && radius_y > SK_ScalarNearlyZero) {
13 return std::make_shared<DlErodeImageFilter>(radius_x, radius_y);
14 }
15 return nullptr;
16}
17
19 DlRect& output_bounds) const {
20 output_bounds = input_bounds.Expand(-radius_x_, -radius_y_);
21 return &output_bounds;
22}
23
25 const DlMatrix& ctm,
26 DlIRect& output_bounds) const {
27 return inset_device_bounds(input_bounds, radius_x_, radius_y_, ctm,
28 output_bounds);
29}
30
32 const DlIRect& output_bounds,
33 const DlMatrix& ctm,
34 DlIRect& input_bounds) const {
35 return outset_device_bounds(output_bounds, radius_x_, radius_y_, ctm,
36 input_bounds);
37}
38
41 auto that = static_cast<const DlErodeImageFilter*>(&other);
42 return (radius_x_ == that->radius_x_ && radius_y_ == that->radius_y_);
43}
44
45} // namespace flutter
virtual T type() const =0
bool equals_(const DlImageFilter &other) const override
DlIRect * get_input_device_bounds(const DlIRect &output_bounds, const DlMatrix &ctm, DlIRect &input_bounds) const override
DlRect * map_local_bounds(const DlRect &input_bounds, DlRect &output_bounds) const override
DlIRect * map_device_bounds(const DlIRect &input_bounds, const DlMatrix &ctm, DlIRect &output_bounds) const override
static std::shared_ptr< DlImageFilter > Make(DlScalar radius_x, DlScalar radius_y)
static DlIRect * outset_device_bounds(const DlIRect &input_bounds, DlScalar radius_x, DlScalar radius_y, const DlMatrix &ctm, DlIRect &output_bounds)
static DlIRect * inset_device_bounds(const DlIRect &input_bounds, DlScalar radius_x, DlScalar radius_y, const DlMatrix &ctm, DlIRect &output_bounds)
#define FML_DCHECK(condition)
Definition logging.h:122
impeller::Scalar DlScalar
A 4x4 matrix using column-major storage.
Definition matrix.h:37
constexpr TRect< T > Expand(T left, T top, T right, T bottom) const
Returns a rectangle with expanded edges. Negative expansion results in shrinking.
Definition rect.h:618