Class RMGradientFill
java.lang.Object
com.inductiveautomation.rm.base.RMListenerList
com.inductiveautomation.rm.base.RMObject
com.inductiveautomation.rm.graphics.RMFill
com.inductiveautomation.rm.graphics.RMGradientFill
- All Implemented Interfaces:
Archivable
,RMPropertyChanger
,Cloneable
- Direct Known Subclasses:
RMRadialGradientFill
This class represents a fill that draws a linear gradient between an arbitrary list of colors.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Simple static class to represent a stop (they're immutable). -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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
Modifier and TypeMethodDescriptionclone()
Standard clone implementation.deriveGradient
(boolean isRadial) Returns a new gradient which is a copy of this gradient but of a different type.deriveGradient
(float aRoll) Returns a new gradient which is a copy of this gradient but with a different roll value.boolean
Standard equals implementation.fromXML
(RXArchiver anArchiver, RXElement anElement) XML unarchival.getColor()
Returns the color associated with this fill.getColorStop
(int anIndex) Returns the individual color stop at given index.int
Returns the number of color stops in the gradientReturns the list of color stops.void
getGradientAxis
(RMRect aRect, Point2D p1, Point2D p2) Returns the 2 points, in the shape's coordinate system, which define the gradient.void
getGradientAxis
(RMShape aShape, RMPath aPath, Point2D p1, Point2D p2) Returns the 2 points, in the shape's coordinate system, which define the gradient.getGradientBounds
(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).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.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 alphaint
insertColorStop
(RMColor aColor, float position) Adds a new color stop at the given position.boolean
isRadial()
Returns whether gradient is radial.void
paint
(RMShapePainter aPntr, RMShape aShape) Render this fill in a shape painter.void
removeColorStop
(int index) Removes the stop at the given index.void
Reverse the order of the color stopsvoid
Sets color of first stop.void
setColorStop
(int index, RMColor aColor, float position) Sets the color & position of the stop at the given index.protected void
setRoll
(float aRoll) Sets the gradient's rotation.void
setStops
(List<RMGradientFill.ColorStop> newStops) Resets all the stops from the new list.toString()
Standard to string implementation.toXML
(RXArchiver anArchiver) XML archival.Methods inherited from class com.inductiveautomation.rm.graphics.RMFill
deriveFill, getBounds, getName, readAttributes
Methods inherited from class com.inductiveautomation.rm.base.RMObject
addPropertyChangeListener, animUpdate, firePropertyChange, firePropertyChange, firePropertyChange, getPCEvent, removePropertyChangeListener, sendPropertyChange
Methods inherited from class com.inductiveautomation.rm.base.RMListenerList
addListener, getListener, getListenerCount, getListenerCount, getListenerList, getListeners, hasListeners, removeListener
-
Constructor Details
-
RMGradientFill
public RMGradientFill()Creates an uninitialized gradient fill. -
RMGradientFill
Creates a gradient fill from the given start color to the given end color with the given roll.
-
-
Method Details
-
getColorStopCount
public int getColorStopCount()Returns the number of color stops in the gradient -
getColorStop
Returns the individual color stop at given index. -
getColorStops
Returns the list of color stops. -
setColorStop
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
Resets all the stops from the new list. -
insertColorStop
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. -
setRoll
protected void setRoll(float aRoll) Sets the gradient's rotation. -
isRadial
public boolean isRadial()Returns whether gradient is radial. -
deriveGradient
Returns a new gradient which is a copy of this gradient but with a different roll value. -
deriveGradient
Returns a new gradient which is a copy of this gradient but of a different type. -
getGradientBounds
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
Returns the 2 points, in the shape's coordinate system, which define the gradient. -
getGradientAxis
Returns the 2 points, in the shape's coordinate system, which define the gradient. -
getColor
Returns the color associated with this fill. -
setColor
Sets color of first stop. -
getStopColor
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 -
getPaint
Returns a java.awt.Paint instance to draw this gradient. -
paint
Render this fill in a shape painter. -
equals
Standard equals implementation. -
clone
Standard clone implementation. -
toXML
XML archival.- Specified by:
toXML
in interfaceArchivable
- Overrides:
toXML
in classRMFill
-
fromXML
XML unarchival.- Specified by:
fromXML
in interfaceArchivable
- Overrides:
fromXML
in classRMFill
-
toString
Standard to string implementation.
-