From 302cffba86a188373c99833d83392f33e6014542 Mon Sep 17 00:00:00 2001 From: "senorblanco@chromium.org" Date: Wed, 1 Aug 2012 20:16:34 +0000 Subject: Replace the asAFoo() functions in SkImageFilter with canFilterImageGPU() and onFilterImageGPU() virtuals. This allows each filter to implement its own GPU processing code, even for multi-pass filters. Review URL: http://codereview.appspot.com/6449075/ git-svn-id: http://skia.googlecode.com/svn/trunk@4900 2bbb7eff-a529-9590-31e7-b0007b416f81 --- include/effects/SkMorphologyImageFilter.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include/effects/SkMorphologyImageFilter.h') diff --git a/include/effects/SkMorphologyImageFilter.h b/include/effects/SkMorphologyImageFilter.h index 5450576de9..4df90aedec 100644 --- a/include/effects/SkMorphologyImageFilter.h +++ b/include/effects/SkMorphologyImageFilter.h @@ -18,6 +18,7 @@ public: protected: SkMorphologyImageFilter(SkFlattenableReadBuffer& buffer); virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; + virtual bool canFilterImageGPU() const SK_OVERRIDE { return true; } SkISize radius() const { return fRadius; } @@ -30,9 +31,9 @@ class SK_API SkDilateImageFilter : public SkMorphologyImageFilter { public: SkDilateImageFilter(int radiusX, int radiusY) : INHERITED(radiusX, radiusY) {} - virtual bool asADilate(SkISize* radius) const SK_OVERRIDE; virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; + virtual GrTexture* onFilterImageGPU(GrTexture* src, const SkRect& rect) SK_OVERRIDE; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDilateImageFilter) @@ -47,9 +48,9 @@ class SK_API SkErodeImageFilter : public SkMorphologyImageFilter { public: SkErodeImageFilter(int radiusX, int radiusY) : INHERITED(radiusX, radiusY) {} - virtual bool asAnErode(SkISize* radius) const SK_OVERRIDE; virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, SkBitmap* result, SkIPoint* offset) SK_OVERRIDE; + virtual GrTexture* onFilterImageGPU(GrTexture* src, const SkRect& rect) SK_OVERRIDE; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkErodeImageFilter) -- cgit v1.2.3