8 #ifndef SkComposeImageFilter_DEFINED
9 #define SkComposeImageFilter_DEFINED
11 #include "SkImageFilter.h"
17 SkRect computeFastBounds(
const SkRect& src)
const override;
19 SK_TO_STRING_OVERRIDE()
22 #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR
24 return Make(sk_ref_sp<SkImageFilter>(outer),
25 sk_ref_sp<SkImageFilter>(inner)).
release();
31 SkASSERT(inputs[0].
get());
32 SkASSERT(inputs[1].
get());
T *SK_WARN_UNUSED_RESULT release()
Return the bare pointer, and set the internal object pointer to nullptr.
Definition: SkRefCnt.h:363
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
Base class for image filters.
Definition: SkImageFilter.h:35
bool onCanHandleComplexCTM() const override
Override this to describe the behavior of your subclass - as a leaf node.
Definition: SkComposeImageFilter.h:37
Definition: SkComposeImageFilter.h:13
virtual SkIRect onFilterBounds(const SkIRect &, const SkMatrix &, MapDirection) const
This function recurses into its inputs with the given rect (first argument), calls filterBounds() wit...
Definition: SkImageFilter.h:37
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