11f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com/* 21f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com * Copyright 2013 Google Inc. 31f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com * 41f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com * Use of this source code is governed by a BSD-style license that can be 51f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com * found in the LICENSE file. 61f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com */ 71f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com 81f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com#include "SkColor.h" 91f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com#include "SkImageFilter.h" 101f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com#include "SkScalar.h" 111f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com 121f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.comclass SK_API SkDropShadowImageFilter : public SkImageFilter { 131f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.compublic: 144813458d89fb276680168848bd861b307cf83f51rileya@google.com static SkDropShadowImageFilter* Create(SkScalar dx, SkScalar dy, SkScalar sigma, 151f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com SkColor color, SkImageFilter* input = NULL) { 161f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com return SkNEW_ARGS(SkDropShadowImageFilter, (dx, dy, sigma, color, input)); 174b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org } 18ac2c82c8528ae45bcdac1f7c4b578aff1d9bbb7eskia.committer@gmail.com static SkDropShadowImageFilter* Create(SkScalar dx, SkScalar dy, 194b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SkScalar sigmaX, SkScalar sigmaY, SkColor color, 204b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SkImageFilter* input = NULL, 214b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org const CropRect* cropRect = NULL) { 224b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org return SkNEW_ARGS(SkDropShadowImageFilter, (dx, dy, sigmaX, sigmaY, 234b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org color, input, cropRect)); 244b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org } 254b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org virtual void computeFastBounds(const SkRect&, SkRect*) const SK_OVERRIDE; 264b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDropShadowImageFilter) 274b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org 284b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.orgprotected: 294b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkScalar sigma, SkColor, 304b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SkImageFilter* input); 314b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor, 324b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SkImageFilter* input, const CropRect* cropRect); 334b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org explicit SkDropShadowImageFilter(SkReadBuffer&); 341f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; 351f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com virtual bool onFilterImage(Proxy*, const SkBitmap& source, const Context&, SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE; 361f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com virtual bool onFilterBounds(const SkIRect& src, const SkMatrix&, 374813458d89fb276680168848bd861b307cf83f51rileya@google.com SkIRect* dst) const SK_OVERRIDE; 381f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com 394813458d89fb276680168848bd861b307cf83f51rileya@google.comprivate: 401f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com SkScalar fDx, fDy, fSigmaX, fSigmaY; 414b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org SkColor fColor; 424b32bd53c63b245707822ae83e3215863303bf43commit-bot@chromium.org typedef SkImageFilter INHERITED; 431f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com}; 441f45e934b68a5985b2127ec871ff593c3bfc7c2erileya@google.com