144888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org/* 244888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org * Copyright 2012 The Android Open Source Project 344888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org * 444888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org * Use of this source code is governed by a BSD-style license that can be 544888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org * found in the LICENSE file. 644888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org */ 744888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org 844888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org#ifndef SkColorFilterImageFilter_DEFINED 944888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org#define SkColorFilterImageFilter_DEFINED 1044888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org 11377c14a1e648f4427bd11474fad8ac264d98aff2senorblanco@chromium.org#include "SkImageFilter.h" 1244888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org 1344888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.orgclass SkColorFilter; 1444888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org 15377c14a1e648f4427bd11474fad8ac264d98aff2senorblanco@chromium.orgclass SK_API SkColorFilterImageFilter : public SkImageFilter { 1644888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.orgpublic: 17194d775edcf5fa6e82098a97ad53018d70db1155senorblanco@chromium.org static SkColorFilterImageFilter* Create(SkColorFilter* cf, 18194d775edcf5fa6e82098a97ad53018d70db1155senorblanco@chromium.org SkImageFilter* input = NULL, 19b295fb6ff3222453912dfcb7a1ea5184d40014b5senorblanco@chromium.org const CropRect* cropRect = NULL); 2044888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org virtual ~SkColorFilterImageFilter(); 2144888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org 2244888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorFilterImageFilter) 23fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com 2444888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.orgprotected: 258b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org SkColorFilterImageFilter(SkReadBuffer& buffer); 268b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; 27fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com 284cb543d6057b692e1099e9f115155f0bf323a0c8senorblanco@chromium.org virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, 29ae761f7545d8ebf181d220169afac2056b057b8ccommit-bot@chromium.org SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE; 30fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com 31a1c511b8704c6c266b90860a4c68f30ca7514f9bsugoi@google.com virtual bool asColorFilter(SkColorFilter**) const SK_OVERRIDE; 328d21f6c7a9d0cf4f87d77c235c6da7203620c7e5senorblanco@chromium.org 3344888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.orgprivate: 34194d775edcf5fa6e82098a97ad53018d70db1155senorblanco@chromium.org SkColorFilterImageFilter(SkColorFilter* cf, 35194d775edcf5fa6e82098a97ad53018d70db1155senorblanco@chromium.org SkImageFilter* input, 36b295fb6ff3222453912dfcb7a1ea5184d40014b5senorblanco@chromium.org const CropRect* cropRect = NULL); 3744888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org SkColorFilter* fColorFilter; 38fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com 39377c14a1e648f4427bd11474fad8ac264d98aff2senorblanco@chromium.org typedef SkImageFilter INHERITED; 4044888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org}; 4144888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org 4244888c66d4bf03da58eb9fbd3db92eb477141aabsenorblanco@chromium.org#endif 43