Chromium Code Reviews| 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 |