OLD | NEW |
---|---|
(Empty) | |
1 /* | |
2 * Copyright 2016 Google Inc. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license that can be | |
5 * found in the LICENSE file. | |
6 */ | |
7 | |
8 #ifndef SkRRectsGaussianEdgeShader_DEFINED | |
9 #define SkRRectsGaussianEdgeShader_DEFINED | |
10 | |
11 #include "SkShader.h" | |
12 | |
13 class SkRRect; | |
14 | |
15 class SK_API SkRRectsGaussianEdgeShader { | |
16 public: | |
17 /** Returns a shader that applies a Gaussian blur depending on distance to t he edge | |
18 * of the intersection of two round rects. | |
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. | |
21 * Raster will draw nothing. | |
22 * | |
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 | |
bsalomon
2016/09/12 14:56:52
Is there a bad behavior if drawn larger or does it
robertphillips
2016/09/12 15:13:49
Right now there is bad behavior but I'm currently
| |
25 * area of the coverage geometry if it is known to be occluded. | |
26 */ | |
27 static sk_sp<SkShader> Make(const SkRRect& first, | |
28 const SkRRect& second, | |
29 SkScalar radius, SkScalar pad); | |
30 | |
31 SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() | |
32 | |
33 private: | |
34 SkRRectsGaussianEdgeShader(); // can't be instantiated | |
35 }; | |
36 | |
37 #endif | |
OLD | NEW |