Index: include/effects/SkGradientShader.h |
diff --git a/include/effects/SkGradientShader.h b/include/effects/SkGradientShader.h |
index 2518458697c2301e56ae951d61a172c9f5f630dd..871b34a41f9069747dc4dc7951806d00b23cd490 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,28 +43,14 @@ |
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); |
- |
- 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); |
- } |
- |
-#ifdef SK_SUPPORT_LEGACY_DEADUNITMAPPERTYPE |
- static SkShader* CreateLinear(const SkPoint pts[2], |
- const SkColor colors[], const SkScalar pos[], int count, |
- SkShader::TileMode mode, |
- SkDeadUnitMapperType*, // this type is now gone |
- uint32_t flags, |
- const SkMatrix* localMatrix) { |
- return CreateLinear(pts, colors, pos, count, mode, flags, localMatrix); |
- } |
-#endif |
+ SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
/** Returns a shader that generates a radial gradient given the center and radius. |
<p /> |
@@ -79,27 +67,14 @@ |
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); |
- |
- 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); |
- } |
- |
-#ifdef SK_SUPPORT_LEGACY_DEADUNITMAPPERTYPE |
- static SkShader* CreateRadial(const SkPoint& center, SkScalar radius, |
- const SkColor colors[], const SkScalar pos[], int count, |
- SkShader::TileMode mode, |
- SkDeadUnitMapperType*, |
- uint32_t flags, const SkMatrix* localMatrix) { |
- return CreateRadial(center, radius, colors, pos, count, mode, flags, localMatrix); |
- } |
-#endif |
+ SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
/** Returns a shader that generates a radial gradient given the start position, start radius, end position and end radius. |
<p /> |
@@ -119,32 +94,18 @@ |
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, |
+ 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) { |
- return CreateTwoPointRadial(start, startRadius, end, endRadius, colors, pos, count, mode, |
- 0, NULL); |
- } |
- |
-#ifdef SK_SUPPORT_LEGACY_DEADUNITMAPPERTYPE |
- static SkShader* CreateTwoPointRadial(const SkPoint& start, SkScalar startRadius, |
- const SkPoint& end, SkScalar endRadius, |
- const SkColor colors[], const SkScalar pos[], int count, |
- SkShader::TileMode mode, |
- SkDeadUnitMapperType*, |
- uint32_t flags, const SkMatrix* localMatrix) { |
- return CreateTwoPointRadial(start, startRadius, end, endRadius, colors, pos, count, mode, |
- flags, localMatrix); |
- } |
-#endif |
+ SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
/** |
* Returns a shader that generates a conical gradient given two circles, or |
@@ -152,31 +113,16 @@ |
* 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) { |
- return CreateTwoPointConical(start, startRadius, end, endRadius, colors, pos, count, mode, |
- 0, NULL); |
- } |
- |
-#ifdef SK_SUPPORT_LEGACY_DEADUNITMAPPERTYPE |
- static SkShader* CreateTwoPointConical(const SkPoint& start, SkScalar startRadius, |
- const SkPoint& end, SkScalar endRadius, |
- const SkColor colors[], const SkScalar pos[], int count, |
- SkShader::TileMode mode, |
- SkDeadUnitMapperType*, |
- uint32_t flags, const SkMatrix* localMatrix) { |
- return CreateTwoPointConical(start, startRadius, end, endRadius, colors, pos, count, mode, |
- flags, localMatrix); |
- } |
-#endif |
+ SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
/** Returns a shader that generates a sweep gradient given a center. |
<p /> |
@@ -192,24 +138,13 @@ |
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, |
- 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); |
- } |
- |
-#ifdef SK_SUPPORT_LEGACY_DEADUNITMAPPERTYPE |
- static SkShader* CreateSweep(SkScalar cx, SkScalar cy, |
- const SkColor colors[], const SkScalar pos[], int count, |
- SkDeadUnitMapperType*, |
- uint32_t flags, const SkMatrix* localMatrix) { |
- return CreateSweep(cx, cy, colors, pos, count, flags, localMatrix); |
- } |
-#endif |
+ const SkColor colors[], const SkScalar pos[], |
+ int count, SkUnitMapper* mapper = NULL, |
+ uint32_t flags = 0, |
+ const SkMatrix* localMatrix = NULL); |
SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() |
}; |