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 |
| 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 |