# GradientFill (Slick - The 2D Library)
Date: 2013-06-03

## org.newdawn.slick.fills
Class GradientFill

    java.lang.Object
      org.newdawn.slick.fills.GradientFill

All Implemented Interfaces:
  ShapeFill

    public class GradientFill

extends java.lang.Object
implements ShapeFill

A fill effect used to define gradients when filling and drawing shapes. A gradient is defined by two control points. Each point that is rendered is coloured based on it's proximity to the points. Note that the points are defined relative to the center of the shape being drawn. This is with the intention that the gradient fills can be used and do not need to be updated when the geometry is moved

Author:
  kevin

Constructor Summary
`GradientFill(float sx, float sy, Color startCol, float ex, float ey, Color endCol)` Create a gradient fill
`GradientFill(float sx, float sy, Color startCol, float ex, float ey, Color endCol, boolean local)` Create a gradient fill
`GradientFill(Vector2f start, Color startCol, Vector2f end, Color endCol, boolean local)` Create a gradient fill

Method Summary
`Color` `colorAt(float x, float y)` Get the colour that should be applied at the specified location
`Color` `colorAt(Shape shape, float x, float y)` Get the colour that should be applied at the specified location
`Vector2f` `getEnd()` Get the position of the end control point
`Color` `getEndColor()` Get the colour at the end control point
`GradientFill` `getInvertedCopy()` Get an inverted copy of the gradient
`Vector2f` `getOffsetAt(Shape shape, float x, float y)` Get the offset for a vertex at a given location based on it's shape
`Vector2f` `getStart()` Get the position of the start control point
`Color` `getStartColor()` Get the colour at the start control point
`void` `setEnd(float x, float y)` Set the end control point's position
`void` `setEnd(Vector2f end)` Set the end control point's position
`void` `setEndColor(Color color)` Set the colour to apply at the end control's position
`void` `setLocal(boolean local)` Indicate if the gradient is defined in shape local coordinates
`void` `setStart(float x, float y)` Set the start point's position
`void` `setStart(Vector2f start)` Set the start control point's position
`void` `setStartColor(Color color)` Set the colour to apply at the start control's position

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GradientFill

    public GradientFill(float sx,
                        float sy,
                        Color startCol,
                        float ex,
                        float ey,
                        Color endCol)

  Create a gradient fill

  Parameters:
    `sx` - The x coordinate of the starting control point
    `sy` - The y coordinate of the starting control point
    `startCol` - The colour to apply at the starting control point
    `ex` - The x coordinate of the ending control point
    `ey` - The y coordinate of the ending control point
    `endCol` - The colour to apply at the ending control point

### GradientFill

    public GradientFill(float sx,
                        float sy,
                        Color startCol,
                        float ex,
                        float ey,
                        Color endCol,
                        boolean local)

  Create a gradient fill

  Parameters:
    `sx` - The x coordinate of the starting control point
    `sy` - The y coordinate of the starting control point
    `startCol` - The colour to apply at the starting control point
    `ex` - The x coordinate of the ending control point
    `ey` - The y coordinate of the ending control point
    `endCol` - The colour to apply at the ending control point
    `local` - True if the gradient is defined in local shape coordinates

### GradientFill

    public GradientFill(Vector2f start,
                        Color startCol,
                        Vector2f end,
                        Color endCol,
                        boolean local)

  Create a gradient fill

  Parameters:
    `start` - The position of the starting control point
    `startCol` - The colour to apply at the starting control point
    `end` - The position of the ending control point
    `endCol` - The colour to apply at the ending control point
    `local` - True if the gradient is defined in local shape coordinates

Method Detail

### getInvertedCopy

    public GradientFill getInvertedCopy()

  Get an inverted copy of the gradient

  Returns:
    The copy with the colours inverted

### setLocal

    public void setLocal(boolean local)

  Indicate if the gradient is defined in shape local coordinates

  Parameters:
    `local` - True if the gradient is defined in shape local coordinates

### getStart

    public Vector2f getStart()

  Get the position of the start control point

  Returns:
    The position of the start control point

### getEnd

    public Vector2f getEnd()

  Get the position of the end control point

  Returns:
    The position of the end control point

### getStartColor

    public Color getStartColor()

  Get the colour at the start control point

  Returns:
    The color at the start control point

### getEndColor

    public Color getEndColor()

  Get the colour at the end control point

  Returns:
    The color at the end control point

### setStart

    public void setStart(float x,
                         float y)

  Set the start point's position

  Parameters:
    `x` - The x coordinate of the start control point
    `y` - The y coordinate of the start control point

### setStart

    public void setStart(Vector2f start)

  Set the start control point's position

  Parameters:
    `start` - The new poisition for the start point

### setEnd

    public void setEnd(float x,
                       float y)

  Set the end control point's position

  Parameters:
    `x` - The x coordinate of the end control point
    `y` - The y coordinate of the end control point

### setEnd

    public void setEnd(Vector2f end)

  Set the end control point's position

  Parameters:
    `end` - The new position for the end point

### setStartColor

    public void setStartColor(Color color)

  Set the colour to apply at the start control's position

  Parameters:
    `color` - The colour to apply at the start control point

### setEndColor

    public void setEndColor(Color color)

  Set the colour to apply at the end control's position

  Parameters:
    `color` - The colour to apply at the end control point

### colorAt

    public Color colorAt(Shape shape,
                         float x,
                         float y)

  Get the colour that should be applied at the specified location

  Specified by:
    `colorAt` in interface `ShapeFill`
  Parameters:
    `shape` - The shape being filled
    `x` - The x coordinate of the point being coloured
    `y` - The y coordinate of the point being coloured
  Returns:
    The colour that should be applied based on the control points of this gradient

### colorAt

    public Color colorAt(float x,
                         float y)

  Get the colour that should be applied at the specified location

  Parameters:
    `x` - The x coordinate of the point being coloured
    `y` - The y coordinate of the point being coloured
  Returns:
    The colour that should be applied based on the control points of this gradient

### getOffsetAt

    public Vector2f getOffsetAt(Shape shape,
                                float x,
                                float y)

  Description copied from interface: `ShapeFill`
  Get the offset for a vertex at a given location based on it's shape

  Specified by:
    `getOffsetAt` in interface `ShapeFill`
  Parameters:
    `shape` - The shape being filled
    `x` - The x coordinate of the point being drawn
    `y` - The y coordinate of the point being drawn
  Returns:
    The offset to apply to this vertex
  See Also:
    `ShapeFill.getOffsetAt(org.newdawn.slick.geom.Shape, float, float)`

Copyright © 2006 New Dawn Software. All Rights Reserved.