Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.flagstone.transform
Class FSGradient

    java.lang.Object
      com.flagstone.transform.FSTransformObject
          com.flagstone.transform.FSGradient

All Implemented Interfaces:
  java.lang.Cloneable

    public class FSGradient

extends FSTransformObject

FSGradient defines a control point that is used to specify how a gradient colour is displayed.

Two or more control points are used to define how the colour changes across the gradient square. Each control point specifies:

Attributes
ratio | The location of the control point across the gradient square.
color | The colour displayed at the control point.

The location of the control point is defined by a ratio - a number between 0 and 255 - that specifies the relative location in the square. For Linear Gradient Fills a ratio of zero is mapped to the left side of the gradient square and 255 is mapped to the right side of the square. For Radial Gradient Fills a ratio of zero is mapped to the centre of the gradient square and 255 is mapped to the edge of the largest circle that fits inside the gradient square. A ratio is used rather than specifying coordinates within the gradient square as the coordinate space is transformed to fit the shape that the gradient is being displayed in.

Note that the object used to create the shape definition determines whether the alpha channel is encoded in the gradient colours. Simply specifying the level of transparency in the FSColor object is not sufficient.

# History

The FSGradient class represents the GradientRecord structure from the Macromedia Flash (SWF) File Format Specification. It was introduced in Flash 1.

Constructor Summary
`FSGradient(FSCoder coder)` Construct an FSGradient object, initialising it with values decoded from an encoded object.
`FSGradient(FSGradient obj)` Constructs an FSGradient object by copying values from an existing object.
`FSGradient(int aRatio, FSColor aColor)` Constructs an FSGradient object with the specified ratio and color.

Method Summary
`void` | `appendDescription(java.lang.StringBuffer buffer, int depth)` AppendDescription is used to present a string description of the object including all nested objects up to a specified depth.
`java.lang.Object` | `clone()` Creates a deep copy of the entire object.
`void` | `decode(FSCoder coder)`
`void` | `encode(FSCoder coder)`
`boolean` | `equals(java.lang.Object anObject)` Returns true if anObject is equal to this one.
`FSColor` | `getColor()` Gets the colour that is displayed at the control point across the gradient square defined by the ratio.
`int` | `getRatio()` Gets the ratio that defines the relative point across the gradient square.
`int` | `length(FSCoder coder)`
`void` | `setColor(FSColor aColor)` Sets the colour that is displayed at the control point across the gradient square.
`void` | `setRatio(int aNumber)` Sets the ratio that defines the control point across the gradient square.

Methods inherited from class com.flagstone.transform.FSTransformObject
`name, toString`

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

Constructor Detail

### FSGradient

    public FSGradient(FSCoder coder)

  Construct an FSGradient object, initialising it with values decoded from an encoded object.

  Parameters:
    `coder` - an FSCoder containing the binary data.

### FSGradient

    public FSGradient(int aRatio,
                      FSColor aColor)

  Constructs an FSGradient object with the specified ratio and color.

  Parameters:
    `aRatio` - the ratio along the gradient square.
    `aColor` - the color at the control point.

### FSGradient

    public FSGradient(FSGradient obj)

  Constructs an FSGradient object by copying values from an existing object.

  Parameters:
    `obj` - an FSGradient object.

Method Detail

### getRatio

    public int getRatio()

  Gets the ratio that defines the relative point across the gradient square.

  Returns:
    the ratio where the control point is located.

### getColor

    public FSColor getColor()

  Gets the colour that is displayed at the control point across the gradient square defined by the ratio.

  Returns:
    the color at the control point.

### setRatio

    public void setRatio(int aNumber)

  Sets the ratio that defines the control point across the gradient square.

  Parameters:
    `aNumber` - the ratio along the gradient square.

### setColor

    public void setColor(FSColor aColor)

  Sets the colour that is displayed at the control point across the gradient square.

  Parameters:
    `aColor` - the color at the control point.

### clone

    public java.lang.Object clone()

  Description copied from class: `FSTransformObject`
  Creates a deep copy of the entire object.

  Overrides:
    `clone` in class `FSTransformObject`
  Returns:
    a copy of the object.

### equals

    public boolean equals(java.lang.Object anObject)

  Returns true if anObject is equal to this one. Objects are considered equal if they would generate identical binary data when they are encoded to a Flash file.

  Overrides:
    `equals` in class `FSTransformObject`
  Returns:
    true if this object would be identical to anObject when encoded.

### appendDescription

    public void appendDescription(java.lang.StringBuffer buffer,
                                  int depth)

  Description copied from class: `FSTransformObject`
  AppendDescription is used to present a string description of the object including all nested objects up to a specified depth. This method provide a more controlled way of creating a string representation of an object since large objects such as font or shape definitions can contain dozens of nested objects. The representation of the object is appended to the StringBuffer, showing the name of the class and values of the attributes it contains. If the object contains any attributes that are objects then the object graph will be traversed up to the specified depth. If objects are nested at a level less than specified depth then the full string representation of the object is displayed. For objects at the specified depth only the name of the class is displayed. Any objects below this depth are not displayed.

  Specified by:
    `appendDescription` in class `FSTransformObject`
  Parameters:
    `buffer` - a StringBuffer to which the description of each object is appended.
    `depth` - the maximum level of nesting up to which objects will be displayed.

### length

    public int length(FSCoder coder)

  Specified by:
    `length` in class `FSTransformObject`

### encode

    public void encode(FSCoder coder)

  Specified by:
    `encode` in class `FSTransformObject`

### decode

    public void decode(FSCoder coder)

  Specified by:
    `decode` in class `FSTransformObject`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD