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 "SkImageFilter.h"
     12 
     13 class SkColorFilter;
     14 
     15 class SK_API SkColorFilterImageFilter : public SkImageFilter {
     16 public:
     17     static SkImageFilter* Create(SkColorFilter* cf, SkImageFilter* input = NULL,
     18                                  const CropRect* cropRect = NULL);
     19 
     20     SK_TO_STRING_OVERRIDE()
     21     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorFilterImageFilter)
     22 
     23 protected:
     24     void flatten(SkWriteBuffer&) const override;
     25     bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&, SkBitmap* result,
     26                                  SkIPoint* loc) const override;
     27     bool onIsColorFilterNode(SkColorFilter**) const override;
     28     bool canComputeFastBounds() const override;
     29 
     30 private:
     31     SkColorFilterImageFilter(SkColorFilter* cf,
     32                              SkImageFilter* input,
     33                              const CropRect* cropRect);
     34     virtual ~SkColorFilterImageFilter();
     35 
     36     SkColorFilter*  fColorFilter;
     37 
     38     typedef SkImageFilter INHERITED;
     39 };
     40 
     41 #endif
     42