SkComposeImageFilter.h revision cac5fd597f6e2495f50aaa6bcbe3dadc56f0b977
1/* 2 * Copyright 2013 Google Inc. 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 SkComposeImageFilter_DEFINED 9#define SkComposeImageFilter_DEFINED 10 11#include "SkImageFilter.h" 12 13class SK_API SkComposeImageFilter : public SkImageFilter { 14public: 15 virtual ~SkComposeImageFilter(); 16 17 static SkComposeImageFilter* Create(SkImageFilter* outer, SkImageFilter* inner) { 18 return SkNEW_ARGS(SkComposeImageFilter, (outer, inner)); 19 } 20 21 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeImageFilter) 22 23protected: 24 explicit SkComposeImageFilter(SkReadBuffer& buffer); 25 26 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&, 27 SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE; 28 virtual bool onFilterBounds(const SkIRect&, const SkMatrix&, SkIRect*) const SK_OVERRIDE; 29 30#ifdef SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS 31public: 32#endif 33 SkComposeImageFilter(SkImageFilter* outer, SkImageFilter* inner) : INHERITED(outer, inner) {} 34 35private: 36 typedef SkImageFilter INHERITED; 37}; 38 39#endif 40