Home | History | Annotate | Download | only in core
      1 /*
      2  * Copyright 2012 The Android Open Source Project
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #ifndef SkDeviceImageFilterProxy_DEFINED
      9 #define SkDeviceImageFilterProxy_DEFINED
     10 
     11 #include "SkImageFilter.h"
     12 
     13 class SkDeviceImageFilterProxy : public SkImageFilter::Proxy {
     14 public:
     15     SkDeviceImageFilterProxy(SkDevice* device) : fDevice(device) {}
     16 
     17     virtual SkDevice* createDevice(int w, int h) SK_OVERRIDE {
     18         return fDevice->createCompatibleDevice(SkBitmap::kARGB_8888_Config,
     19                                                w, h, false);
     20     }
     21     virtual bool canHandleImageFilter(SkImageFilter* filter) SK_OVERRIDE {
     22         return fDevice->canHandleImageFilter(filter);
     23     }
     24     virtual bool filterImage(SkImageFilter* filter, const SkBitmap& src,
     25                              const SkMatrix& ctm,
     26                              SkBitmap* result, SkIPoint* offset) SK_OVERRIDE {
     27         return fDevice->filterImage(filter, src, ctm, result, offset);
     28     }
     29 
     30 private:
     31     SkDevice* fDevice;
     32 };
     33 
     34 #endif
     35