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

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

Issue 2321713004: Add shader-based GaussianEdgeShader for reveal case (Closed)
Patch Set: Clean up Created 4 years, 3 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
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698