8 #ifndef SkDisplacementMapEffect_DEFINED
9 #define SkDisplacementMapEffect_DEFINED
11 #include "SkImageFilter.h"
15 enum ChannelSelectorType {
16 kUnknown_ChannelSelectorType,
17 kR_ChannelSelectorType,
18 kG_ChannelSelectorType,
19 kB_ChannelSelectorType,
20 kA_ChannelSelectorType
26 ChannelSelectorType yChannelSelector,
34 SkRect computeFastBounds(
const SkRect& src)
const override;
37 MapDirection)
const override;
40 SK_TO_STRING_OVERRIDE()
42 #ifdef SK_SUPPORT_LEGACY_IMAGEFILTER_PTR
43 static SkImageFilter* Create(ChannelSelectorType xChannelSelector,
44 ChannelSelectorType yChannelSelector,
47 const CropRect* cropRect =
nullptr) {
48 return Make(xChannelSelector, yChannelSelector, scale,
49 sk_ref_sp<SkImageFilter>(displacement),
50 sk_ref_sp<SkImageFilter>(color),
60 ChannelSelectorType yChannelSelector,
66 ChannelSelectorType fXChannelSelector;
67 ChannelSelectorType fYChannelSelector;
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
Base class for image filters.
Definition: SkImageFilter.h:35
SkImageFilter * getInput(int i) const
Returns the input filter at a given index, or NULL if no input is connected.
Definition: SkImageFilter.h:176
Definition: SkWriteBuffer.h:26
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...
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
Definition: SkDisplacementMapEffect.h:13