Package icyllis.modernui.graphics

# Class RadialGradient

java.lang.Object
icyllis.modernui.graphics.Shader
icyllis.modernui.graphics.GradientShader
icyllis.modernui.graphics.RadialGradient

public class RadialGradient extends GradientShader
RadialGradient generates gradient colors linearly interpolated in the radial direction of a circle.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `RadialGradient.Builder`
  Builder pattern of `RadialGradient`.

  ## Nested classes/interfaces inherited from class icyllis.modernui.graphics.GradientShader

  `GradientShader.HueInterpolationMethod, GradientShader.InterpolationColorSpace`

  ## Nested classes/interfaces inherited from class icyllis.modernui.graphics.Shader

  `Shader.TileMode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RadialGradient(float centerX, float centerY, float radius, float[] colors, ColorSpace colorSpace, float[] positions, Shader.TileMode tileMode, Matrix localMatrix)`
  Create a radial gradient shader.
  `RadialGradient(float centerX, float centerY, float radius, int[] colors, float[] positions, Shader.TileMode tileMode, Matrix localMatrix)`
  Simplified constructor that takes an array of 0xAARRGGBB colors in sRGB color space.
  `RadialGradient(float centerX, float centerY, float radius, int centerColor, int edgeColor, Shader.TileMode tileMode, Matrix localMatrix)`
  Simplified constructor that takes two 0xAARRGGBB colors in sRGB color space.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `getLocalMatrix(Matrix localMatrix)`
  Return true if the shader has a non-identity local matrix.

  ### Methods inherited from class icyllis.modernui.graphics.GradientShader

  `convertColors`

  ### Methods inherited from class icyllis.modernui.graphics.Shader

  `release`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RadialGradient

    public RadialGradient(float centerX, float centerY, float radius, @ColorInt int centerColor, @ColorInt int edgeColor, @NonNull Shader.TileMode tileMode, @Nullable Matrix localMatrix)
    Simplified constructor that takes two 0xAARRGGBB colors in sRGB color space.
    See Also:
      - `RadialGradient(float, float, float, float[], ColorSpace, float[], TileMode, Matrix)`

  - ### RadialGradient

    public RadialGradient(float centerX, float centerY, float radius, @NonNull @ColorInt int[] colors, @Nullable float[] positions, @NonNull Shader.TileMode tileMode, @Nullable Matrix localMatrix)
    Simplified constructor that takes an array of 0xAARRGGBB colors in sRGB color space.
    See Also:
      - `RadialGradient(float, float, float, float[], ColorSpace, float[], TileMode, Matrix)`

  - ### RadialGradient

    public RadialGradient(float centerX, float centerY, float radius, @Size(multiple=4L) @NonNull float[] colors, @Nullable ColorSpace colorSpace, @Nullable float[] positions, @NonNull Shader.TileMode tileMode, @Nullable Matrix localMatrix)
    Create a radial gradient shader.

    The colors array holds repeated R,G,B,A values of source colors to interpolate, they have non-premultiplied alpha and are in the given colorSpace.

    The positions array specifies a number of stops, all values are between 0 and 1 and monotonic increasing. Colors will be linearly interpolated in each stop. Null means that they are uniformly distributed. If the first position is not 0 or the last position is not 1, an implicit stop will be added.

    The tileMode specifies the behavior when local coords are out of bounds.

    The localMatrix specifies an additional local matrix for this gradient, it transforms gradient's local coordinates to geometry's local coordinates, null means identity.

    All given arguments will be simplified and copied into the internal shader.

    Parameters:
      `centerX` - x-coordinate of the center of the radius
      `centerY` - y-coordinate of the center of the radius
      `radius` - radius of the circle
      `colors` - color array
      `colorSpace` - color space, null will use the default one (sRGB)
      `positions` - position array
      `tileMode` - tile mode
      `localMatrix` - local matrix
    Throws:
      `IllegalArgumentException` - NaN, infinity, non-invertible matrix, etc.

- ## Method Details

  - ### getLocalMatrix

    public boolean getLocalMatrix(@NonNull Matrix localMatrix)
    Return true if the shader has a non-identity local matrix.
    Parameters:
      `localMatrix` - Set to the local matrix of the shader, if the shader's matrix is non-null.
    Returns:
      true if the shader has a non-identity local matrix