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