Home | History | Annotate | Download | only in effects
      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 SkColorFilterImageFilter_DEFINED
      9 #define SkColorFilterImageFilter_DEFINED
     10 
     11 #include "SkSingleInputImageFilter.h"
     12 
     13 class SkColorFilter;
     14 
     15 class SK_API SkColorFilterImageFilter : public SkSingleInputImageFilter {
     16 public:
     17     static SkColorFilterImageFilter* Create(SkColorFilter* cf, SkImageFilter* input = NULL);
     18     virtual ~SkColorFilterImageFilter();
     19 
     20     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorFilterImageFilter)
     21 
     22 protected:
     23     SkColorFilterImageFilter(SkFlattenableReadBuffer& buffer);
     24     virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
     25 
     26     virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
     27                                SkBitmap* result, SkIPoint* loc) SK_OVERRIDE;
     28 
     29     virtual SkColorFilter* asColorFilter() const SK_OVERRIDE;
     30 
     31 private:
     32     SkColorFilterImageFilter(SkColorFilter* cf, SkImageFilter* input);
     33     SkColorFilter*  fColorFilter;
     34 
     35     typedef SkSingleInputImageFilter INHERITED;
     36 };
     37 
     38 #endif
     39