OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 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 #ifndef SkRRectsGaussianEdgeShader_DEFINED | 8 #ifndef SkRRectsGaussianEdgeShader_DEFINED |
9 #define SkRRectsGaussianEdgeShader_DEFINED | 9 #define SkRRectsGaussianEdgeShader_DEFINED |
10 | 10 |
11 #include "SkShader.h" | 11 #include "SkShader.h" |
12 | 12 |
13 class SkRRect; | 13 class SkRRect; |
14 | 14 |
15 class SK_API SkRRectsGaussianEdgeShader { | 15 class SK_API SkRRectsGaussianEdgeShader { |
16 public: | 16 public: |
17 /** Returns a shader that applies a Gaussian blur depending on distance to t
he edge | 17 /** Returns a shader that applies a Gaussian blur depending on distance to t
he edge |
18 * of the intersection of two round rects. | 18 * of the intersection of two round rects. |
19 * Currently this is only useable with round rects that have the same radii
at | 19 * Currently this is only useable with round rects that have the same radii
at |
20 * all the corners and for which the x & y radii are equal. | 20 * all the corners and for which the x & y radii are equal. |
21 * Raster will draw nothing. | 21 * Raster will draw nothing. |
22 * | 22 * |
23 * The coverage geometry that should be drawn should be no larger than the
intersection | 23 * The coverage geometry that should be drawn should be no larger than the
intersection |
24 * of the bounding boxes of the two round rects. Ambitious users can omit t
he center | 24 * of the bounding boxes of the two round rects. Ambitious users can omit t
he center |
25 * area of the coverage geometry if it is known to be occluded. | 25 * area of the coverage geometry if it is known to be occluded. |
26 */ | 26 */ |
27 static sk_sp<SkShader> Make(const SkRRect& first, | 27 static sk_sp<SkShader> Make(const SkRRect& first, |
28 const SkRRect& second, | 28 const SkRRect& second, |
29 SkScalar radius); | 29 SkScalar radius, SkScalar unused = 0.0f); |
30 | 30 |
31 SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() | 31 SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() |
32 | 32 |
33 private: | 33 private: |
34 SkRRectsGaussianEdgeShader(); // can't be instantiated | 34 SkRRectsGaussianEdgeShader(); // can't be instantiated |
35 }; | 35 }; |
36 | 36 |
37 #endif | 37 #endif |
OLD | NEW |