Skia
2DGraphicsLibrary
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SkGradientShader Class Reference

SkGradientShader hosts factories for creating subclasses of SkShader that render linear and radial gradients. More...

#include <SkGradientShader.h>

Public Types

enum  Flags { kInterpolateColorsInPremul_Flag = 1 << 0 }
 

Static Public Member Functions

static sk_sp< SkShaderMakeLinear (const SkPoint pts[2], const SkColor colors[], const SkScalar pos[], int count, SkShader::TileMode mode, uint32_t flags, const SkMatrix *localMatrix)
 Returns a shader that generates a linear gradient between the two specified points. More...
 
static sk_sp< SkShaderMakeLinear (const SkPoint pts[2], const SkColor colors[], const SkScalar pos[], int count, SkShader::TileMode mode)
 
static sk_sp< SkShaderMakeLinear (const SkPoint pts[2], const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count, SkShader::TileMode mode, uint32_t flags, const SkMatrix *localMatrix)
 Returns a shader that generates a linear gradient between the two specified points. More...
 
static sk_sp< SkShaderMakeLinear (const SkPoint pts[2], const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count, SkShader::TileMode mode)
 
static sk_sp< SkShaderMakeRadial (const SkPoint &center, SkScalar radius, const SkColor colors[], const SkScalar pos[], int count, SkShader::TileMode mode, uint32_t flags, const SkMatrix *localMatrix)
 Returns a shader that generates a radial gradient given the center and radius. More...
 
static sk_sp< SkShaderMakeRadial (const SkPoint &center, SkScalar radius, const SkColor colors[], const SkScalar pos[], int count, SkShader::TileMode mode)
 
static sk_sp< SkShaderMakeRadial (const SkPoint &center, SkScalar radius, const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count, SkShader::TileMode mode, uint32_t flags, const SkMatrix *localMatrix)
 Returns a shader that generates a radial gradient given the center and radius. More...
 
static sk_sp< SkShaderMakeRadial (const SkPoint &center, SkScalar radius, const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count, SkShader::TileMode mode)
 
static sk_sp< SkShaderMakeTwoPointConical (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)
 Returns a shader that generates a conical gradient given two circles, or returns NULL if the inputs are invalid. More...
 
static sk_sp< SkShaderMakeTwoPointConical (const SkPoint &start, SkScalar startRadius, const SkPoint &end, SkScalar endRadius, const SkColor colors[], const SkScalar pos[], int count, SkShader::TileMode mode)
 
static sk_sp< SkShaderMakeTwoPointConical (const SkPoint &start, SkScalar startRadius, const SkPoint &end, SkScalar endRadius, const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count, SkShader::TileMode mode, uint32_t flags, const SkMatrix *localMatrix)
 Returns a shader that generates a conical gradient given two circles, or returns NULL if the inputs are invalid. More...
 
static sk_sp< SkShaderMakeTwoPointConical (const SkPoint &start, SkScalar startRadius, const SkPoint &end, SkScalar endRadius, const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count, SkShader::TileMode mode)
 
static sk_sp< SkShaderMakeSweep (SkScalar cx, SkScalar cy, const SkColor colors[], const SkScalar pos[], int count, uint32_t flags, const SkMatrix *localMatrix)
 Returns a shader that generates a sweep gradient given a center. More...
 
static sk_sp< SkShaderMakeSweep (SkScalar cx, SkScalar cy, const SkColor colors[], const SkScalar pos[], int count)
 
static sk_sp< SkShaderMakeSweep (SkScalar cx, SkScalar cy, const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count, uint32_t flags, const SkMatrix *localMatrix)
 Returns a shader that generates a sweep gradient given a center. More...
 
static sk_sp< SkShaderMakeSweep (SkScalar cx, SkScalar cy, const SkColor4f colors[], sk_sp< SkColorSpace > colorSpace, const SkScalar pos[], int count)
 

Detailed Description

SkGradientShader hosts factories for creating subclasses of SkShader that render linear and radial gradients.

Member Enumeration Documentation

Enumerator
kInterpolateColorsInPremul_Flag 

By default gradients will interpolate their colors in unpremul space and then premultiply each of the results.

By setting this flag, the gradients will premultiply their colors first, and then interpolate between them.

Member Function Documentation

static sk_sp<SkShader> SkGradientShader::MakeLinear ( const SkPoint  pts[2],
const SkColor  colors[],
const SkScalar  pos[],
int  count,
SkShader::TileMode  mode,
uint32_t  flags,
const SkMatrix localMatrix 
)
static

Returns a shader that generates a linear gradient between the two specified points.

Parameters
ptsThe start and end points for the gradient.
colorsThe array[count] of colors, to be distributed between the two points
posMay 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.
countMust be >=2. The number of colors (and pos if not NULL) entries.
modeThe tiling mode
static sk_sp<SkShader> SkGradientShader::MakeLinear ( const SkPoint  pts[2],
const SkColor4f  colors[],
sk_sp< SkColorSpace colorSpace,
const SkScalar  pos[],
int  count,
SkShader::TileMode  mode,
uint32_t  flags,
const SkMatrix localMatrix 
)
static

Returns a shader that generates a linear gradient between the two specified points.

Parameters
ptsThe start and end points for the gradient.
colorsThe array[count] of colors, to be distributed between the two points
posMay 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.
countMust be >=2. The number of colors (and pos if not NULL) entries.
modeThe tiling mode
static sk_sp<SkShader> SkGradientShader::MakeRadial ( const SkPoint center,
SkScalar  radius,
const SkColor  colors[],
const SkScalar  pos[],
int  count,
SkShader::TileMode  mode,
uint32_t  flags,
const SkMatrix localMatrix 
)
static

Returns a shader that generates a radial gradient given the center and radius.

Parameters
centerThe center of the circle for this gradient
radiusMust be positive. The radius of the circle for this gradient
colorsThe array[count] of colors, to be distributed between the center and edge of the circle
posMay 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.
countMust be >= 2. The number of colors (and pos if not NULL) entries
modeThe tiling mode
static sk_sp<SkShader> SkGradientShader::MakeRadial ( const SkPoint center,
SkScalar  radius,
const SkColor4f  colors[],
sk_sp< SkColorSpace colorSpace,
const SkScalar  pos[],
int  count,
SkShader::TileMode  mode,
uint32_t  flags,
const SkMatrix localMatrix 
)
static

Returns a shader that generates a radial gradient given the center and radius.

Parameters
centerThe center of the circle for this gradient
radiusMust be positive. The radius of the circle for this gradient
colorsThe array[count] of colors, to be distributed between the center and edge of the circle
posMay 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.
countMust be >= 2. The number of colors (and pos if not NULL) entries
modeThe tiling mode
static sk_sp<SkShader> SkGradientShader::MakeSweep ( SkScalar  cx,
SkScalar  cy,
const SkColor  colors[],
const SkScalar  pos[],
int  count,
uint32_t  flags,
const SkMatrix localMatrix 
)
static

Returns a shader that generates a sweep gradient given a center.

Parameters
cxThe X coordinate of the center of the sweep
cxThe Y coordinate of the center of the sweep
colorsThe array[count] of colors, to be distributed around the center.
posMay 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.
countMust be >= 2. The number of colors (and pos if not NULL) entries
static sk_sp<SkShader> SkGradientShader::MakeSweep ( SkScalar  cx,
SkScalar  cy,
const SkColor4f  colors[],
sk_sp< SkColorSpace colorSpace,
const SkScalar  pos[],
int  count,
uint32_t  flags,
const SkMatrix localMatrix 
)
static

Returns a shader that generates a sweep gradient given a center.

Parameters
cxThe X coordinate of the center of the sweep
cxThe Y coordinate of the center of the sweep
colorsThe array[count] of colors, to be distributed around the center.
posMay 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.
countMust be >= 2. The number of colors (and pos if not NULL) entries
static sk_sp<SkShader> SkGradientShader::MakeTwoPointConical ( 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

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

static sk_sp<SkShader> SkGradientShader::MakeTwoPointConical ( const SkPoint start,
SkScalar  startRadius,
const SkPoint end,
SkScalar  endRadius,
const SkColor4f  colors[],
sk_sp< SkColorSpace colorSpace,
const SkScalar  pos[],
int  count,
SkShader::TileMode  mode,
uint32_t  flags,
const SkMatrix localMatrix 
)
static

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


The documentation for this class was generated from the following file: