aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMike Reed <reed@google.com>2009-09-22 16:16:08 -0400
committerMike Reed <reed@google.com>2009-09-22 16:24:32 -0400
commit924f59d3627a697f2b0df3299915e814e160f981 (patch)
tree81bbef6b9f0ba074edf105d58b3da865d51fd8a7 /include
parentd243cf67f2b40887d2effb15c01c4cd460663412 (diff)
downloadexternal_skia-924f59d3627a697f2b0df3299915e814e160f981.zip
external_skia-924f59d3627a697f2b0df3299915e814e160f981.tar.gz
external_skia-924f59d3627a697f2b0df3299915e814e160f981.tar.bz2
refresh from skia/trunk - two-point-radial gradients, needed for <canvas> and svg
Diffstat (limited to 'include')
-rw-r--r--include/effects/SkGradientShader.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/include/effects/SkGradientShader.h b/include/effects/SkGradientShader.h
index 9a8696c..c800c66 100644
--- a/include/effects/SkGradientShader.h
+++ b/include/effects/SkGradientShader.h
@@ -72,9 +72,37 @@ public:
SkShader::TileMode mode,
SkUnitMapper* mapper = NULL);
+ /** Returns a shader that generates a radial gradient given the start position, start radius, end position and end radius.
+ <p />
+ CreateTwoPointRadial returns a shader with a reference count of 1.
+ The caller should decrement the shader's reference count when done with the shader.
+ It is an error for colorCount to be < 2, for startRadius or endRadius to be < 0, or for
+ startRadius to be equal to endRadius.
+ @param start The center of the start circle for this gradient
+ @param startRadius Must be positive. The radius of the start circle for this gradient.
+ @param end The center of the end circle for this gradient
+ @param endRadius Must be positive. The radius of the end circle for this gradient.
+ @param colors The array[count] of colors, to be distributed between the center and edge of the circle
+ @param pos May be NULL. The array[count] of SkScalars, or NULL, of the relative position of
+ each corresponding color in the colors array. If this is NULL,
+ the the colors are distributed evenly between the center and edge of the circle.
+ If this is not null, the values must begin with 0, end with 1.0, and
+ intermediate values must be strictly increasing.
+ @param count Must be >= 2. The number of colors (and pos if not NULL) entries
+ @param mode The tiling mode
+ @param mapper May be NULL. Callback to modify the spread of the colors.
+ */
+ static SkShader* CreateTwoPointRadial(const SkPoint& start,
+ SkScalar startRadius,
+ const SkPoint& end,
+ SkScalar endRadius,
+ const SkColor colors[],
+ const SkScalar pos[], int count,
+ SkShader::TileMode mode,
+ SkUnitMapper* mapper = NULL);
/** Returns a shader that generates a sweep gradient given a center.
<p />
- CreateRadial returns a shader with a reference count of 1.
+ CreateSweep returns a shader with a reference count of 1.
The caller should decrement the shader's reference count when done with the shader.
It is an error for colorCount to be < 2.
@param cx The X coordinate of the center of the sweep