Index: include/c/sk_shader.h |
diff --git a/include/c/sk_shader.h b/include/c/sk_shader.h |
index 9f83ff0415ba4434966948fc3c91fdb112557a62..702cda7fd454c0b9d84a63ee9ee3db68d41cdc47 100644 |
--- a/include/c/sk_shader.h |
+++ b/include/c/sk_shader.h |
@@ -24,13 +24,119 @@ typedef enum { |
MIRROR_SK_SHADER_TILEMODE, |
} sk_shader_tilemode_t; |
-sk_shader_t* sk_shader_new_linear_gradient(const sk_point_t pts[2], |
+/** |
+ Returns a shader that generates a linear gradient between the two |
+ specified points. |
+ |
+ @param points The start and end points for the gradient. |
+ @param colors The array[count] of colors, to be distributed between |
+ the two points |
+ @param colorPos May be NULL. 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 start |
+ and end point. If this is not null, the values |
+ must begin with 0, end with 1.0, and intermediate |
+ values must be strictly increasing. |
+ @param colorCount Must be >=2. The number of colors (and pos if not |
+ NULL) entries. |
+ @param mode The tiling mode |
+*/ |
+sk_shader_t* sk_shader_new_linear_gradient(const sk_point_t points[2], |
+ const sk_color_t colors[], |
+ const float colorPos[], |
+ int colorCount, |
+ sk_shader_tilemode_t tileMode, |
+ const sk_matrix_t* localMatrix); |
+ |
+ |
+/** |
+ Returns a shader that generates a radial gradient given the center |
+ and radius. |
+ |
+ @param center The center of the circle for this gradient |
+ @param radius Must be positive. The radius of the circle for this |
+ gradient |
+ @param colors The array[count] of colors, to be distributed |
+ between the center and edge of the circle |
+ @param colorPos May be NULL. The array[count] 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 tileMode The tiling mode |
+ @param localMatrix May be NULL |
+*/ |
+sk_shader_t* sk_shader_new_radial_gradient(const sk_point_t* center, |
+ float radius, |
const sk_color_t colors[], |
const float colorPos[], |
int colorCount, |
sk_shader_tilemode_t tileMode, |
const sk_matrix_t* localMatrix); |
+/** |
+ Returns a shader that generates a sweep gradient given a center. |
+ |
+ @param center The coordinates of the center of the sweep |
+ @param colors The array[count] of colors, to be distributed around |
+ the center. |
+ @param colorPos May be NULL. The array[count] 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 colorCount Must be >= 2. The number of colors (and pos if |
+ not NULL) entries |
+ @param localMatrix May be NULL |
+*/ |
+sk_shader_t* sk_shader_new_sweep_gradient(const sk_point_t* center, |
+ const sk_color_t colors[], |
+ const float colorPos[], |
+ int colorCount, |
+ const sk_matrix_t* localMatrix); |
+ |
+/** |
+ Returns a shader that generates a conical gradient given two circles, or |
+ returns NULL if the inputs are invalid. The gradient interprets the |
+ two circles according to the following HTML spec. |
+ http://dev.w3.org/html5/2dcontext/#dom-context-2d-createradialgradient |
+ |
+ Returns a shader that generates a sweep gradient given a center. |
+ |
+ @param start, startRadius Defines the first circle. |
+ @param end, endRadius Defines the first circle. |
+ @param colors The array[count] of colors, to be distributed between |
+ the two circles. |
+ @param colorPos May be NULL. The array[count] of the relative |
+ position of each corresponding color in the colors |
+ array. If this is NULL, the the colors are |
+ distributed evenly between the two circles. If |
+ this is not null, the values must begin with 0, |
+ end with 1.0, and intermediate values must be |
+ strictly increasing. |
+ @param colorCount Must be >= 2. The number of colors (and pos if |
+ not NULL) entries |
+ @param tileMode The tiling mode |
+ @param localMatrix May be NULL |
+ |
+*/ |
+sk_shader_t* sk_shader_new_two_point_conical_gradient( |
+ const sk_point_t* start, |
+ float startRadius, |
+ const sk_point_t* end, |
+ float endRadius, |
+ const sk_color_t colors[], |
+ const float colorPos[], |
+ int colorCount, |
+ sk_shader_tilemode_t tileMode, |
+ const sk_matrix_t* localMatrix); |
SK_C_PLUS_PLUS_END_GUARD |