pivot.wtk.media.drawing
Class Group

java.lang.Object
  extended by pivot.wtk.media.drawing.Shape
      extended by pivot.wtk.media.drawing.Group
All Implemented Interfaces:
java.lang.Iterable<Shape>, Sequence<Shape>, Visual

public class Group
extends Shape
implements Sequence<Shape>, java.lang.Iterable<Shape>

Shape representing a collection of other shapes.

Author:
gbrown

Nested Class Summary
 
Nested classes/interfaces inherited from interface pivot.collections.Sequence
Sequence.Search, Sequence.Sort, Sequence.Tree
 
Constructor Summary
Group()
           
 
Method Summary
 int add(Shape shape)
          Adds an item to the sequence.
 boolean contains(int x, int y)
          TODO Subclasses should override this method to perform an inverse transformation and map to the untransformed coordinate space.
 Shape get(int index)
          Retrieves the item at the given index.
 Shape getDescendantAt(int x, int y)
           
 int getHeight()
          Returns the visual's height.
 int getLength()
          Returns the length of the sequence.
 Shape getShapeAt(int x, int y)
           
 int getWidth()
          Returns the visual's width.
 int indexOf(Shape shape)
          Returns the index of an item in the sequence.
 void insert(Shape shape, int index)
          Inserts an item into the sequence at a specific index.
 java.util.Iterator<Shape> iterator()
           
 void paint(java.awt.Graphics2D graphics)
          Paints the visual.
 Sequence<Shape> remove(int index, int count)
          Removes one or more items from the sequence.
 int remove(Shape shape)
          Removes the first occurrence of the given item from the sequence.
 Shape update(int index, Shape shape)
          Updates the item at the given index.
 
Methods inherited from class pivot.wtk.media.drawing.Shape
getBounds, getFill, getOrigin, getParent, getRotation, getScaleX, getScaleY, getStroke, getStrokeThickness, getTransform, getTranslateX, getTranslateY, getX, getY, setFill, setFill, setOrigin, setOrigin, setParent, setRotation, setScaleX, setScaleY, setStroke, setStroke, setStrokeThickness, setTranslateX, setTranslateY, setX, setY
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Group

public Group()
Method Detail

getWidth

public int getWidth()
Description copied from interface: Visual
Returns the visual's width.

Specified by:
getWidth in interface Visual

getHeight

public int getHeight()
Description copied from interface: Visual
Returns the visual's height.

Specified by:
getHeight in interface Visual

paint

public void paint(java.awt.Graphics2D graphics)
Description copied from interface: Visual
Paints the visual.

Specified by:
paint in interface Visual
Parameters:
graphics - The graphics context in which to paint the visual.

add

public int add(Shape shape)
Description copied from interface: Sequence
Adds an item to the sequence.

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

insert

public void insert(Shape shape,
                   int index)
Description copied from interface: Sequence
Inserts an item into the sequence at a specific index.

Specified by:
insert in interface Sequence<Shape>
Parameters:
shape - 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 Shape update(int index,
                    Shape shape)
Description copied from interface: Sequence
Updates the item at the given index.

Specified by:
update in interface Sequence<Shape>
Parameters:
index - The index of the item to update.
shape - 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(Shape shape)
Description copied from interface: Sequence
Removes the first occurrence of the given item from the sequence.

Specified by:
remove in interface Sequence<Shape>
Parameters:
shape - 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<Shape> remove(int index,
                              int count)
Description copied from interface: Sequence
Removes one or more items from the sequence.

Specified by:
remove in interface Sequence<Shape>
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 Shape get(int index)
Description copied from interface: Sequence
Retrieves the item at the given index.

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

indexOf

public int indexOf(Shape shape)
Description copied from interface: Sequence
Returns the index of an item in the sequence.

Specified by:
indexOf in interface Sequence<Shape>
Parameters:
shape - 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()
Description copied from interface: Sequence
Returns the length of the sequence.

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

contains

public boolean contains(int x,
                        int y)
Description copied from class: Shape
TODO Subclasses should override this method to perform an inverse transformation and map to the untransformed coordinate space.

Specified by:
contains in class Shape

getShapeAt

public Shape getShapeAt(int x,
                        int y)

getDescendantAt

public Shape getDescendantAt(int x,
                             int y)

iterator

public java.util.Iterator<Shape> iterator()
Specified by:
iterator in interface java.lang.Iterable<Shape>