const SkBitmap& src,
const SkMatrix& ctm,
SkBitmap* dst,
- SkIPoint* offset) SK_OVERRIDE;
+ SkIPoint* offset) const SK_OVERRIDE;
+ virtual void computeFastBounds(const SkRect& src, SkRect* dst) const SK_OVERRIDE;
+
+ virtual bool onFilterBounds(const SkIRect& src, const SkMatrix&,
+ SkIRect* dst) const SK_OVERRIDE;
+
#if SK_SUPPORT_GPU
virtual bool canFilterImageGPU() const SK_OVERRIDE { return true; }
virtual bool filterImageGPU(Proxy* proxy, const SkBitmap& src, const SkMatrix& ctm,
- SkBitmap* result, SkIPoint* offset) SK_OVERRIDE;
+ SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE;
#endif
protected:
- explicit SkDisplacementMapEffect(SkFlattenableReadBuffer& buffer);
- virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
+ explicit SkDisplacementMapEffect(SkReadBuffer& buffer);
+ virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
private:
ChannelSelectorType fXChannelSelector;
ChannelSelectorType fYChannelSelector;
SkScalar fScale;
typedef SkImageFilter INHERITED;
- SkImageFilter* getDisplacementInput() { return getInput(0); }
- SkImageFilter* getColorInput() { return getInput(1); }
+ const SkImageFilter* getDisplacementInput() const { return getInput(0); }
+ const SkImageFilter* getColorInput() const { return getInput(1); }
};
#endif