2 * Copyright 2013 Google Inc.
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
9 #include "SkImageFilter.h"
12 class SK_API SkDropShadowImageFilter : public SkImageFilter {
14 static SkDropShadowImageFilter* Create(SkScalar dx, SkScalar dy,
15 SkScalar sigmaX, SkScalar sigmaY, SkColor color,
16 SkImageFilter* input = NULL,
17 const CropRect* cropRect = NULL,
18 uint32_t uniqueID = 0) {
19 return SkNEW_ARGS(SkDropShadowImageFilter, (dx, dy, sigmaX, sigmaY,
20 color, input, cropRect, uniqueID));
22 virtual void computeFastBounds(const SkRect&, SkRect*) const SK_OVERRIDE;
23 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDropShadowImageFilter)
26 SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor,
27 SkImageFilter* input, const CropRect* cropRect, uint32_t uniqueID);
28 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
29 explicit SkDropShadowImageFilter(SkReadBuffer&);
31 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
32 virtual bool onFilterImage(Proxy*, const SkBitmap& source, const Context&, SkBitmap* result, SkIPoint* loc) const SK_OVERRIDE;
33 virtual bool onFilterBounds(const SkIRect& src, const SkMatrix&,
34 SkIRect* dst) const SK_OVERRIDE;
37 SkScalar fDx, fDy, fSigmaX, fSigmaY;
39 typedef SkImageFilter INHERITED;