pivot.wtk.media.drawing
Class Path

java.lang.Object
  extended by pivot.wtk.media.drawing.Shape
      extended by pivot.wtk.media.drawing.Path
All Implemented Interfaces:
Sequence<Path.Operation>

public class Path
extends Shape
implements Sequence<Path.Operation>

A shape representing a geometric path constructed from straight lines, quadratic curves, and and cubic (Bézier) curves.

Author:
tvolkert

Nested Class Summary
static class Path.CurveTo
          Adds a curved segment, defined by three new points, to the path by drawing a Bézier curve that intersects both the current coordinates and the specified coordinates (x3,y3), using the specified points (x1,y1) and (x2,y2) as Bézier control points.
static class Path.LineTo
          Adds a point to the path by drawing a straight line from the current coordinates to the new specified coordinates.
static class Path.MoveTo
          Adds a point to the path by moving to the specified coordinates.
static class Path.Operation
          Abstract base class for path operations.
static class Path.QuadTo
          Adds a curved segment, defined by two new points, to the path by drawing a Quadratic curve that intersects both the current coordinates and the specified coordinates (x2,y2), using the specified point (x1,y1) as a quadratic parametric control point.
static class Path.WindingRule
          The winding rule specifies how the interior of a path is determined.
 
Nested classes/interfaces inherited from class pivot.wtk.media.drawing.Shape
Shape.Rotate, Shape.Scale, Shape.Transform, Shape.TransformSequence, Shape.Translate
 
Nested classes/interfaces inherited from interface pivot.collections.Sequence
Sequence.Search, Sequence.Sort, Sequence.Tree
 
Constructor Summary
Path()
           
 
Method Summary
 int add(Path.Operation operation)
          Adds an item to the sequence.
 void draw(Graphics2D graphics)
          
 Path.Operation get(int index)
          Retrieves the item at the given index.
 int getLength()
          Returns the length of the sequence.
 ListenerList<PathListener> getPathListeners()
          Returns the path listener list.
 Path.WindingRule getWindingRule()
          Gets the winding rule that specifies how the interior of this path is determined.
 int indexOf(Path.Operation operation)
          Returns the index of an item in the sequence.
 void insert(Path.Operation operation, int index)
          Inserts an item into the sequence at a specific index.
 Sequence<Path.Operation> remove(int index, int count)
          Removes one or more items from the sequence.
 int remove(Path.Operation operation)
          Removes the first occurrence of the given item from the sequence.
 void setWindingRule(Path.WindingRule windingRule)
          Sets the winding rule that specifies how the interior of this path is determined.
 void setWindingRule(String windingRule)
           
 Path.Operation update(int index, Path.Operation operation)
          Updates the item at the given index.
protected  void validate()
          
 
Methods inherited from class pivot.wtk.media.drawing.Shape
getBounds, getFill, getOrigin, getParent, getShapeListeners, getShapeTransformListeners, getStroke, getStrokeThickness, getTransformedBounds, getTransforms, getX, getY, invalidate, isValid, isVisible, setBounds, setFill, setFill, setOrigin, setOrigin, setParent, setStroke, setStroke, setStrokeThickness, setVisible, setX, setY, update, update, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Path

public Path()
Method Detail

getWindingRule

public Path.WindingRule getWindingRule()
Gets the winding rule that specifies how the interior of this path is determined.


setWindingRule

public void setWindingRule(Path.WindingRule windingRule)
Sets the winding rule that specifies how the interior of this path is determined.


setWindingRule

public final void setWindingRule(String windingRule)

add

public int add(Path.Operation operation)
Adds an item to the sequence.

Specified by:
add in interface Sequence<Path.Operation>
Parameters:
operation - The item to be added to the sequence.
Returns:
The index at which the item was added.

insert

public void insert(Path.Operation operation,
                   int index)
Inserts an item into the sequence at a specific index.

Specified by:
insert in interface Sequence<Path.Operation>
Parameters:
operation - The item to be added to the sequence.
index - The index at which the item should be inserted. Must be a value between 0 and getLength().

update

public Path.Operation update(int index,
                             Path.Operation operation)
Updates the item at the given index.

Specified by:
update in interface Sequence<Path.Operation>
Parameters:
index - The index of the item to update.
operation - The item that will replace any existing value at the given index.
Returns:
The item that was previously stored at the given index.

remove

public int remove(Path.Operation operation)
Removes the first occurrence of the given item from the sequence.

Specified by:
remove in interface Sequence<Path.Operation>
Parameters:
operation - The item to remove.
Returns:
The index of the item that was removed, or -1 if the item could not be found.
See Also:
Sequence.remove(int, int)

remove

public Sequence<Path.Operation> remove(int index,
                                       int count)
Removes one or more items from the sequence.

Specified by:
remove in interface Sequence<Path.Operation>
Parameters:
index - The starting index to remove.
count - The number of items to remove, beginning with index.
Returns:
A sequence containing the items that were removed.

get

public Path.Operation get(int index)
Retrieves the item at the given index.

Specified by:
get in interface Sequence<Path.Operation>
Parameters:
index - The index of the item to retrieve.

indexOf

public int indexOf(Path.Operation operation)
Returns the index of an item in the sequence.

Specified by:
indexOf in interface Sequence<Path.Operation>
Parameters:
operation - The item to locate.
Returns:
The index of first occurrence of the item if it exists in the sequence; -1, otherwise.

getLength

public int getLength()
Returns the length of the sequence.

Specified by:
getLength in interface Sequence<Path.Operation>
Returns:
The number of items in the sequence.

draw

public void draw(Graphics2D graphics)

Specified by:
draw in class Shape

validate

protected void validate()

Overrides:
validate in class Shape

getPathListeners

public ListenerList<PathListener> getPathListeners()
Returns the path listener list.

Returns:
The path listeners.