ReportMill 11 API

com.reportmill.shape.fill
Class RMGradientFill

java.lang.Object
  extended by com.reportmill.shape.fill.RMFill
      extended by com.reportmill.shape.fill.RMGradientFill
All Implemented Interfaces:
java.lang.Cloneable

public class RMGradientFill
extends RMFill

This class represents a fill that draws a linear gradient between an arbitrary list of colors.


Nested Class Summary
static class RMGradientFill.ColorStop
          Simple static class to represent a stop (they're immutable).
 
Constructor Summary
RMGradientFill()
          Creates an uninitialized gradient fill.
RMGradientFill(RMColor aColor1, RMColor aColor2, float aRotation)
          Creates a gradient fill from the given start color to the given end color with the given roll.
 
Method Summary
 RMGradientFill clone()
          Standard clone implementation.
 RMGradientFill deriveGradient(boolean isRadial)
          Returns a new gradient which is a copy of this gradient but of a different type.
 RMGradientFill deriveGradient(float aRoll)
          Returns a new gradient which is a copy of this gradient but with a different roll value.
 boolean equals(java.lang.Object anObj)
          Standard equals implementation.
 java.lang.Object fromXML(com.reportmill.archiver.RXArchiver anArchiver, com.reportmill.archiver.RXElement anElement, java.lang.Object anOwner)
          XML unarchival.
 RMColor getColor()
          Returns the color associated with this fill.
 RMGradientFill.ColorStop getColorStop(int anIndex)
          Returns the individual color stop at given index.
 int getColorStopCount()
          Returns the number of color stops in the gradient
 java.util.List<RMGradientFill.ColorStop> getColorStops()
          Returns the list of color stops.
 void getGradientAxis(RMShape aShape, RMPath aPath, java.awt.geom.Point2D p1, java.awt.geom.Point2D p2)
          Returns the 2 points, in the shape's coordinate system, which define the gradient.
 java.awt.geom.Rectangle2D getGradientBounds(java.awt.Shape aShape)
          Returns the gradient bounds for a given shape which is the bounds required to encompass the entire shape in the coordinates of the gradient rotation (effectively the bounds of the shape rotated by opposite gradient rotation).
 java.awt.Paint getPaint(float startx, float starty, float endx, float endy)
          Returns a java.awt.Paint instance to draw this gradient.
 float getRoll()
          Returns the gradient's rotation.
 RMColor getStopColor(int index)
          Returns the color of the stop at the given index.
 float getStopPosition(int index)
          Returns the position (in the range {0-1}) for the given stop index.
 boolean hasAlpha()
          Returns true if any of the colors in the gradient have alpha
 int insertColorStop(RMColor aColor, float position)
          Adds a new color stop at the given position.
 void paint(com.reportmill.shape.RMShapePainter sp, java.awt.Graphics2D g, RMShape aShape)
          Render this fill in a Java2D Graphics2D.
 void removeColorStop(int index)
          Removes the stop at the given index.
 void reverseColors()
          Reverse the order of the color stops
 void setColor(RMColor aColor)
          Sets color of first stop.
 void setColorStop(int index, RMColor aColor, float position)
          Sets the color & position of the stop at the given index.
 void setStops(java.util.List<RMGradientFill.ColorStop> newStops)
          Resets all the stops from the new list.
 com.reportmill.archiver.RXElement toXML(com.reportmill.archiver.RXArchiver anArchiver, java.lang.Object anOwner)
          XML archival.
 
Methods inherited from class com.reportmill.shape.fill.RMFill
deriveFill, getBounds, getName
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RMGradientFill

public RMGradientFill()
Creates an uninitialized gradient fill.


RMGradientFill

public RMGradientFill(RMColor aColor1,
                      RMColor aColor2,
                      float aRotation)
Creates a gradient fill from the given start color to the given end color with the given roll.

Method Detail

getColorStopCount

public int getColorStopCount()
Returns the number of color stops in the gradient


getColorStop

public RMGradientFill.ColorStop getColorStop(int anIndex)
Returns the individual color stop at given index.


getColorStops

public java.util.List<RMGradientFill.ColorStop> getColorStops()
Returns the list of color stops.


setColorStop

public void setColorStop(int index,
                         RMColor aColor,
                         float position)
Sets the color & position of the stop at the given index.


removeColorStop

public void removeColorStop(int index)
Removes the stop at the given index.


setStops

public void setStops(java.util.List<RMGradientFill.ColorStop> newStops)
Resets all the stops from the new list.


insertColorStop

public int insertColorStop(RMColor aColor,
                           float position)
Adds a new color stop at the given position. Returns the index of the new stop.


reverseColors

public void reverseColors()
Reverse the order of the color stops


getRoll

public float getRoll()
Returns the gradient's rotation.


deriveGradient

public RMGradientFill deriveGradient(float aRoll)
Returns a new gradient which is a copy of this gradient but with a different roll value.


deriveGradient

public RMGradientFill deriveGradient(boolean isRadial)
Returns a new gradient which is a copy of this gradient but of a different type.


getGradientBounds

public java.awt.geom.Rectangle2D getGradientBounds(java.awt.Shape aShape)
Returns the gradient bounds for a given shape which is the bounds required to encompass the entire shape in the coordinates of the gradient rotation (effectively the bounds of the shape rotated by opposite gradient rotation). The gradient should be defined in these bounds so that rendered shapes completely utilizes the color range.


getGradientAxis

public void getGradientAxis(RMShape aShape,
                            RMPath aPath,
                            java.awt.geom.Point2D p1,
                            java.awt.geom.Point2D p2)
Returns the 2 points, in the shape's coordinate system, which define the gradient.


getColor

public RMColor getColor()
Returns the color associated with this fill.

Overrides:
getColor in class RMFill

setColor

public void setColor(RMColor aColor)
Sets color of first stop.

Overrides:
setColor in class RMFill

getStopColor

public RMColor getStopColor(int index)
Returns the color of the stop at the given index.


getStopPosition

public float getStopPosition(int index)
Returns the position (in the range {0-1}) for the given stop index.


hasAlpha

public boolean hasAlpha()
Returns true if any of the colors in the gradient have alpha

Overrides:
hasAlpha in class RMFill

getPaint

public java.awt.Paint getPaint(float startx,
                               float starty,
                               float endx,
                               float endy)
Returns a java.awt.Paint instance to draw this gradient.


paint

public void paint(com.reportmill.shape.RMShapePainter sp,
                  java.awt.Graphics2D g,
                  RMShape aShape)
Render this fill in a Java2D Graphics2D.

Overrides:
paint in class RMFill

equals

public boolean equals(java.lang.Object anObj)
Standard equals implementation.

Overrides:
equals in class RMFill

clone

public RMGradientFill clone()
Standard clone implementation.

Overrides:
clone in class RMFill

toXML

public com.reportmill.archiver.RXElement toXML(com.reportmill.archiver.RXArchiver anArchiver,
                                               java.lang.Object anOwner)
XML archival.

Overrides:
toXML in class RMFill

fromXML

public java.lang.Object fromXML(com.reportmill.archiver.RXArchiver anArchiver,
                                com.reportmill.archiver.RXElement anElement,
                                java.lang.Object anOwner)
XML unarchival.

Overrides:
fromXML in class RMFill

ReportMill 11 API