Index: include/core/SkImageFilter.h |
diff --git a/include/core/SkImageFilter.h b/include/core/SkImageFilter.h |
index 30265e4fddaca4b05a12130658b4e4054e374336..326ae5bdaf2c99b02f308b69c6e2f6ceba1e8fea 100644 |
--- a/include/core/SkImageFilter.h |
+++ b/include/core/SkImageFilter.h |
@@ -95,20 +95,32 @@ public: |
class Proxy { |
public: |
- Proxy(SkBaseDevice* device) : fDevice(device) { } |
+ virtual ~Proxy() {} |
- SkBaseDevice* createDevice(int width, int height); |
+ virtual SkBaseDevice* createDevice(int width, int height) = 0; |
+ |
+ // Returns true if the proxy handled the filter itself. If this returns |
+ // false then the filter's code will be called. |
+ virtual bool filterImage(const SkImageFilter*, const SkBitmap& src, |
+ const SkImageFilter::Context&, |
+ SkBitmap* result, SkIPoint* offset) = 0; |
+ }; |
+ |
+ class DeviceProxy : public Proxy { |
+ public: |
+ DeviceProxy(SkBaseDevice* device) : fDevice(device) {} |
+ |
+ SkBaseDevice* createDevice(int width, int height) override; |
// Returns true if the proxy handled the filter itself. If this returns |
// false then the filter's code will be called. |
bool filterImage(const SkImageFilter*, const SkBitmap& src, const SkImageFilter::Context&, |
- SkBitmap* result, SkIPoint* offset); |
+ SkBitmap* result, SkIPoint* offset) override; |
private: |
SkBaseDevice* fDevice; |
}; |
- |
/** |
* Request a new (result) image to be created from the src image. |
* If the src has no pixels (isNull()) then the request just wants to |