Index: include/effects/SkGradientShader.h |
diff --git a/include/effects/SkGradientShader.h b/include/effects/SkGradientShader.h |
index a5b4f29b7604e29fa31d5a4bfa73e6a1be60d7aa..d9276c9ad942c718826638d20173618e8efdbb0e 100644 |
--- a/include/effects/SkGradientShader.h |
+++ b/include/effects/SkGradientShader.h |
@@ -9,6 +9,8 @@ |
#define SkGradientShader_DEFINED |
#include "SkShader.h" |
+ |
+class SkUnitMapper; |
/** \class SkGradientShader |
@@ -41,16 +43,21 @@ |
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* CreateLinear(const SkPoint pts[2], |
const SkColor colors[], const SkScalar pos[], int count, |
SkShader::TileMode mode, |
- uint32_t flags, const SkMatrix* localMatrix); |
+ SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
static SkShader* CreateLinear(const SkPoint pts[2], |
const SkColor colors[], const SkScalar pos[], int count, |
- SkShader::TileMode mode) { |
- return CreateLinear(pts, colors, pos, count, mode, 0, NULL); |
+ SkShader::TileMode mode, |
+ uint32_t flags, |
+ const SkMatrix* localMatrix) { |
+ return CreateLinear(pts, colors, pos, count, mode, NULL, flags, localMatrix); |
} |
/** Returns a shader that generates a radial gradient given the center and radius. |
@@ -68,16 +75,21 @@ |
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* CreateRadial(const SkPoint& center, SkScalar radius, |
const SkColor colors[], const SkScalar pos[], int count, |
SkShader::TileMode mode, |
- uint32_t flags, const SkMatrix* localMatrix); |
+ SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
static SkShader* CreateRadial(const SkPoint& center, SkScalar radius, |
const SkColor colors[], const SkScalar pos[], int count, |
- SkShader::TileMode mode) { |
- return CreateRadial(center, radius, colors, pos, count, mode, 0, NULL); |
+ SkShader::TileMode mode, |
+ uint32_t flags, |
+ const SkMatrix* localMatrix) { |
+ return CreateRadial(center, radius, colors, pos, count, mode, NULL, flags, localMatrix); |
} |
/** Returns a shader that generates a radial gradient given the start position, start radius, end position and end radius. |
@@ -98,19 +110,30 @@ |
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 |
- */ |
- static SkShader* CreateTwoPointRadial(const SkPoint& start, SkScalar startRadius, |
- const SkPoint& end, SkScalar endRadius, |
- const SkColor colors[], const SkScalar pos[], int count, |
+ @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, |
- uint32_t flags, const SkMatrix* localMatrix); |
- |
- 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, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
+ |
+ static SkShader* CreateTwoPointRadial(const SkPoint& start, |
+ SkScalar startRadius, |
+ const SkPoint& end, |
+ SkScalar endRadius, |
+ const SkColor colors[], |
+ const SkScalar pos[], int count, |
+ SkShader::TileMode mode, |
+ uint32_t flags, |
+ const SkMatrix* localMatrix) { |
return CreateTwoPointRadial(start, startRadius, end, endRadius, colors, pos, count, mode, |
- 0, NULL); |
+ NULL, flags, localMatrix); |
} |
/** |
@@ -119,18 +142,28 @@ |
* two circles according to the following HTML spec. |
* http://dev.w3.org/html5/2dcontext/#dom-context-2d-createradialgradient |
*/ |
- static SkShader* CreateTwoPointConical(const SkPoint& start, SkScalar startRadius, |
- const SkPoint& end, SkScalar endRadius, |
- const SkColor colors[], const SkScalar pos[], int count, |
+ static SkShader* CreateTwoPointConical(const SkPoint& start, |
+ SkScalar startRadius, |
+ const SkPoint& end, |
+ SkScalar endRadius, |
+ const SkColor colors[], |
+ const SkScalar pos[], int count, |
SkShader::TileMode mode, |
- uint32_t flags, const SkMatrix* localMatrix); |
- |
- static SkShader* CreateTwoPointConical(const SkPoint& start, SkScalar startRadius, |
- const SkPoint& end, SkScalar endRadius, |
- const SkColor colors[], const SkScalar pos[], int count, |
- SkShader::TileMode mode) { |
+ SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
+ |
+ static SkShader* CreateTwoPointConical(const SkPoint& start, |
+ SkScalar startRadius, |
+ const SkPoint& end, |
+ SkScalar endRadius, |
+ const SkColor colors[], |
+ const SkScalar pos[], int count, |
+ SkShader::TileMode mode, |
+ uint32_t flags, |
+ const SkMatrix* localMatrix) { |
return CreateTwoPointConical(start, startRadius, end, endRadius, colors, pos, count, mode, |
- 0, NULL); |
+ NULL, flags, localMatrix); |
} |
/** Returns a shader that generates a sweep gradient given a center. |
@@ -147,14 +180,18 @@ |
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 mapper May be NULL. Callback to modify the spread of the colors. |
+ */ |
+ static SkShader* CreateSweep(SkScalar cx, SkScalar cy, |
+ const SkColor colors[], const SkScalar pos[], |
+ int count, SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
+ |
static SkShader* CreateSweep(SkScalar cx, SkScalar cy, |
const SkColor colors[], const SkScalar pos[], int count, |
- uint32_t flags, const SkMatrix* localMatrix); |
- |
- static SkShader* CreateSweep(SkScalar cx, SkScalar cy, |
- const SkColor colors[], const SkScalar pos[], int count) { |
- return CreateSweep(cx, cy, colors, pos, count, 0, NULL); |
+ uint32_t flags, const SkMatrix* localMatrix) { |
+ return CreateSweep(cx, cy, colors, pos, count, NULL, flags, localMatrix); |
} |
SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() |