8 #ifndef SkMorphologyImageFilter_DEFINED
9 #define SkMorphologyImageFilter_DEFINED
12 #include "SkImageFilter.h"
18 SkRect computeFastBounds(
const SkRect& src)
const override;
29 int width,
int height,
int srcStride,
int dstStride);
37 virtual Op op()
const = 0;
41 const CropRect* cropRect);
47 SkISize radius()
const {
return fRadius; }
62 SK_TO_STRING_OVERRIDE()
65 #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR
68 const CropRect* cropRect =
nullptr) {
69 return Make(radiusX, radiusY,
70 sk_ref_sp<SkImageFilter>(input),
76 Op op()
const override {
return kDilate_Op; }
82 :
INHERITED(radiusX, radiusY, input, cropRect) {}
94 SK_TO_STRING_OVERRIDE()
97 #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR
100 const CropRect* cropRect =
nullptr) {
101 return Make(radiusX, radiusY,
102 sk_ref_sp<SkImageFilter>(input),
108 Op op()
const override {
return kErode_Op; }
113 :
INHERITED(radiusX, radiusY, input, cropRect) {}
T *SK_WARN_UNUSED_RESULT release()
Return the bare pointer, and set the internal object pointer to nullptr.
Definition: SkRefCnt.h:363
Definition: SkImageFilter.h:55
void flatten(SkWriteBuffer &) const override
Override this if your subclass needs to record data that it will need to recreate itself from its Cre...
The SkMatrix class holds a 3x3 matrix for transforming coordinates.
Definition: SkMatrix.h:26
virtual sk_sp< SkSpecialImage > onFilterImage(SkSpecialImage *src, const Context &, SkIPoint *offset) const =0
This is the virtual which should be overridden by the derived class to perform image filtering...
Definition: SkRefCnt.h:135
Definition: SkMorphologyImageFilter.h:88
Base class for image filters.
Definition: SkImageFilter.h:35
Definition: SkMorphologyImageFilter.h:56
uint32_t SkPMColor
32 bit ARGB color value, premultiplied.
Definition: SkColor.h:147
Definition: SkWriteBuffer.h:26
Definition: SkMorphologyImageFilter.h:16
virtual SkIRect onFilterNodeBounds(const SkIRect &, const SkMatrix &, MapDirection) const
Performs a forwards or reverse mapping of the given rect to accommodate this filter's margin requirem...
SkIRect holds four 32 bit integer coordinates for a rectangle.
Definition: SkRect.h:20
SkIPoint holds two 32 bit integer coordinates.
Definition: SkPoint.h:40
Types and macros for colors.