Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: include/effects/SkDropShadowImageFilter.h

Issue 1823573003: Change signatures of filter bounds methods to return a rect. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Hide legacy API behind #ifdef; switch callers to new API Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkColor.h" 8 #include "SkColor.h"
9 #include "SkImageFilter.h" 9 #include "SkImageFilter.h"
10 #include "SkScalar.h" 10 #include "SkScalar.h"
11 11
12 class SK_API SkDropShadowImageFilter : public SkImageFilter { 12 class SK_API SkDropShadowImageFilter : public SkImageFilter {
13 public: 13 public:
14 enum ShadowMode { 14 enum ShadowMode {
15 kDrawShadowAndForeground_ShadowMode, 15 kDrawShadowAndForeground_ShadowMode,
16 kDrawShadowOnly_ShadowMode, 16 kDrawShadowOnly_ShadowMode,
17 17
18 kLast_ShadowMode = kDrawShadowOnly_ShadowMode 18 kLast_ShadowMode = kDrawShadowOnly_ShadowMode
19 }; 19 };
20 20
21 static const int kShadowModeCount = kLast_ShadowMode+1; 21 static const int kShadowModeCount = kLast_ShadowMode+1;
22 22
23 static SkImageFilter* Create(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkSc alar sigmaY, 23 static SkImageFilter* Create(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkSc alar sigmaY,
24 SkColor color, ShadowMode shadowMode, SkImageFi lter* input = NULL, 24 SkColor color, ShadowMode shadowMode, SkImageFi lter* input = NULL,
25 const CropRect* cropRect = NULL) { 25 const CropRect* cropRect = NULL) {
26 return new SkDropShadowImageFilter(dx, dy, sigmaX, sigmaY, color, shadow Mode, input, 26 return new SkDropShadowImageFilter(dx, dy, sigmaX, sigmaY, color, shadow Mode, input,
27 cropRect); 27 cropRect);
28 } 28 }
29 29
30 void computeFastBounds(const SkRect&, SkRect*) const override; 30 SkRect computeFastBounds(const SkRect&) const override;
31 SK_TO_STRING_OVERRIDE() 31 SK_TO_STRING_OVERRIDE()
32 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDropShadowImageFilter) 32 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDropShadowImageFilter)
33 33
34 protected: 34 protected:
35 void flatten(SkWriteBuffer&) const override; 35 void flatten(SkWriteBuffer&) const override;
36 bool onFilterImageDeprecated(Proxy*, const SkBitmap& source, const Context&, SkBitmap* result, 36 bool onFilterImageDeprecated(Proxy*, const SkBitmap& source, const Context&, SkBitmap* result,
37 SkIPoint* loc) const override; 37 SkIPoint* loc) const override;
38 void onFilterNodeBounds(const SkIRect& src, const SkMatrix&, 38 SkIRect onFilterNodeBounds(const SkIRect& src, const SkMatrix&, MapDirection ) const override;
39 SkIRect* dst, MapDirection) const override;
40 39
41 private: 40 private:
42 SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor, 41 SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkScalar sigmaX, SkScalar sigmaY, SkColor,
43 ShadowMode shadowMode, SkImageFilter* input, const C ropRect* cropRect); 42 ShadowMode shadowMode, SkImageFilter* input, const C ropRect* cropRect);
44 43
45 SkScalar fDx, fDy, fSigmaX, fSigmaY; 44 SkScalar fDx, fDy, fSigmaX, fSigmaY;
46 SkColor fColor; 45 SkColor fColor;
47 ShadowMode fShadowMode; 46 ShadowMode fShadowMode;
48 47
49 typedef SkImageFilter INHERITED; 48 typedef SkImageFilter INHERITED;
50 }; 49 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698