## org.apache.batik.ext.awt.geom
Class RectListManager

    java.lang.Object
      org.apache.batik.ext.awt.geom.RectListManager

All Implemented Interfaces:
  java.lang.Iterable, java.util.Collection

    public class RectListManager

extends java.lang.Object
implements java.util.Collection

RectListManager is a class to manage a list of rectangular regions. This class contains methods to add new rectangles to the List, to merge rectangles in the list (based on a cost function), and functions to subract one RectListManager from another. The main purpose of this class is to manage dirty regions on a display (for this reason it uses Rectangle not Rectangle2D).

Field Summary
`static java.util.Comparator` `comparator` The comparator used to sort the elements of this List.

Constructor Summary
`RectListManager()` Construct an initially empty `RectListManager`.
`RectListManager(java.util.Collection rects)` Construct a `RectListManager` from a Collection of Rectangles
`RectListManager(int capacity)` Construct an initially empty `RectListManager`, with initial `capacity`.
`RectListManager(java.awt.Rectangle rect)` Construct a `RectListManager` with one rectangle
`RectListManager(java.awt.Rectangle[] rects)` Construct a `RectListManager` from an Array of `Rectangles`
`RectListManager(java.awt.Rectangle[] rects, int off, int sz)` Construct a `RectListManager` from an Array of `Rectangles`
`RectListManager(RectListManager rlm)` Construct a `RectListManager` from another `RectListManager` (data is copied).

Method Summary
`boolean` `add(java.lang.Object o)`
`void` `add(java.awt.Rectangle rect)` Ensures that this collection contains the specified element
`protected void` `add(java.awt.Rectangle rect, int l, int r)` Ensures that this collection contains the specified element l is the lower bound index for insertion r is upper bound index for insertion.
`void` `add(RectListManager rlm)` Adds the contents of `rlm` to this RectListManager.
`boolean` `addAll(java.util.Collection c)`
`void` `clear()`
`java.lang.Object` `clone()` Standard `Object` clone method.
`boolean` `contains(java.lang.Object o)`
`boolean` `containsAll(java.util.Collection c)` Returns true if this collection contains all of the elements in the specified collection.
`boolean` `containsAll(RectListManager rlm)`
`RectListManager` `copy()` Similar to clone only strongly typed
`void` `dump()`
`void` `ensureCapacity(int sz)`
`java.awt.Rectangle` `getBounds()`
`protected void` `insertRects(java.awt.Rectangle[] rects, int srcPos, int dstPos, int len)`
`boolean` `isEmpty()` Returns true if this collection contains no elements.
`java.util.Iterator` `iterator()` Returns an iterator over the elements in this collection
`java.util.ListIterator` `listIterator()` Returns a list iterator of the elements in this list (in proper sequence).
`void` `mergeRects(int overhead, int lineOverhead)`
`boolean` `remove(java.lang.Object o)` Removes a single instance of the specified element from this collection, if it is present.
`boolean` `remove(java.awt.Rectangle rect)` Removes a single instance of the specified Rectangle from this collection, if it is present.
`boolean` `removeAll(java.util.Collection c)`
`boolean` `removeAll(RectListManager rlm)`
`boolean` `retainAll(java.util.Collection c)`
`boolean` `retainAll(RectListManager rlm)`
`int` `size()` Returns the number of elements currently stored in this collection.
`protected void` `splitRect(java.awt.Rectangle r, java.awt.Rectangle sr, java.awt.Rectangle[] splits)`
`void` `subtract(RectListManager rlm, int overhead, int lineOverhead)`
`java.lang.Object[]` `toArray()`
`java.lang.Object[]` `toArray(java.lang.Object[] a)` fill the given array a with values from my internal `rects`.

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

Methods inherited from interface java.util.Collection
`equals, hashCode`

Field Detail

### comparator

    public static java.util.Comparator comparator

  The comparator used to sort the elements of this List. Sorts on x value of Rectangle.

Constructor Detail

### RectListManager

    public RectListManager(java.util.Collection rects)

  Construct a `RectListManager` from a Collection of Rectangles

  Parameters:
    `rects` - Collection that must only contain rectangles.

### RectListManager

    public RectListManager(java.awt.Rectangle[] rects)

  Construct a `RectListManager` from an Array of `Rectangles`

  Parameters:
    `rects` - Array of `Rectangles`, must not contain any null entries.

### RectListManager

    public RectListManager(java.awt.Rectangle[] rects,
                           int off,
                           int sz)

  Construct a `RectListManager` from an Array of `Rectangles`

  Parameters:
    `rects` - Array of `Rectangles`, must not contain any null entries in the range [off, off+sz-1].
    `off` - The offset to start copying from in rects.
    `sz` - The number of entries to copy from rects.

### RectListManager

    public RectListManager(RectListManager rlm)

  Construct a `RectListManager` from another `RectListManager` (data is copied).

  Parameters:
    `rlm` - RectListManager to copy.

### RectListManager

    public RectListManager(java.awt.Rectangle rect)

  Construct a `RectListManager` with one rectangle

  Parameters:
    `rect` - The rectangle to put in this rlm.

### RectListManager

    public RectListManager()

  Construct an initially empty `RectListManager`.

### RectListManager

    public RectListManager(int capacity)

  Construct an initially empty `RectListManager`, with initial `capacity`.

  Parameters:
    `capacity` - The inital capacity for the list. Setting this appropriately can save reallocations.

Method Detail

### dump

    public void dump()

### getBounds

    public java.awt.Rectangle getBounds()

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Standard `Object` clone method.

  Overrides:
    `clone` in class `java.lang.Object`
  Throws:
    `java.lang.CloneNotSupportedException`

### copy

    public RectListManager copy()

  Similar to clone only strongly typed

### size

    public int size()

  Returns the number of elements currently stored in this collection.

  Specified by:
    `size` in interface `java.util.Collection`

### isEmpty

    public boolean isEmpty()

  Returns true if this collection contains no elements.

  Specified by:
    `isEmpty` in interface `java.util.Collection`

### clear

    public void clear()

  Specified by:
    `clear` in interface `java.util.Collection`

### iterator

    public java.util.Iterator iterator()

  Returns an iterator over the elements in this collection

  Specified by:
    `iterator` in interface `java.lang.Iterable`
  Specified by:
    `iterator` in interface `java.util.Collection`

### listIterator

    public java.util.ListIterator listIterator()

  Returns a list iterator of the elements in this list (in proper sequence).

### toArray

    public java.lang.Object[] toArray()

  Specified by:
    `toArray` in interface `java.util.Collection`

### toArray

    public java.lang.Object[] toArray(java.lang.Object[] a)

  fill the given array a with values from my internal `rects`. when a is not large enough, a new array is allocated, filled and returned. the method works only, when a is a Object[] or a Rectange[]. When this is not the case, the a[] is just cleared.

  Specified by:
    `toArray` in interface `java.util.Collection`
  Parameters:
    `a` - array to fill (must not be null!)
  Returns:
    the content of rects, either in a[] or a fresh array.

### add

    public boolean add(java.lang.Object o)

  Specified by:
    `add` in interface `java.util.Collection`

### add

    public void add(java.awt.Rectangle rect)

  Ensures that this collection contains the specified element

  Parameters:
    `rect` - The rectangle to add

### add

    protected void add(java.awt.Rectangle rect,
                       int l,
                       int r)

  Ensures that this collection contains the specified element l is the lower bound index for insertion r is upper bound index for insertion.

  Parameters:
    `rect` - The rectangle to add
    `l` - the lowest possible index for a rect with greater 'x' coord.
    `r` - the highest possible index for a rect with greater 'x' coord.

### addAll

    public boolean addAll(java.util.Collection c)

  Specified by:
    `addAll` in interface `java.util.Collection`

### contains

    public boolean contains(java.lang.Object o)

  Specified by:
    `contains` in interface `java.util.Collection`

### containsAll

    public boolean containsAll(java.util.Collection c)

  Returns true if this collection contains all of the elements in the specified collection.

  Specified by:
    `containsAll` in interface `java.util.Collection`

### containsAll

    public boolean containsAll(RectListManager rlm)

### remove

    public boolean remove(java.lang.Object o)

  Removes a single instance of the specified element from this collection, if it is present.

  Specified by:
    `remove` in interface `java.util.Collection`
  Parameters:
    `o` - Object to remove an matching instance of.

### remove

    public boolean remove(java.awt.Rectangle rect)

  Removes a single instance of the specified Rectangle from this collection, if it is present.

  Parameters:
    `rect` - Rectangle to remove an matching instance of.

### removeAll

    public boolean removeAll(java.util.Collection c)

  Specified by:
    `removeAll` in interface `java.util.Collection`

### removeAll

    public boolean removeAll(RectListManager rlm)

### retainAll

    public boolean retainAll(java.util.Collection c)

  Specified by:
    `retainAll` in interface `java.util.Collection`

### retainAll

    public boolean retainAll(RectListManager rlm)

### add

    public void add(RectListManager rlm)

  Adds the contents of `rlm` to this RectListManager. No collapsing of rectangles is done here the contents are simply added (you should generally call 'mergeRects' some time after this operation before using the contents of this RectListManager.

  Parameters:
    `rlm` - The RectListManager to add the contents of.

### mergeRects

    public void mergeRects(int overhead,
                           int lineOverhead)

### subtract

    public void subtract(RectListManager rlm,
                         int overhead,
                         int lineOverhead)

### splitRect

    protected void splitRect(java.awt.Rectangle r,
                             java.awt.Rectangle sr,
                             java.awt.Rectangle[] splits)

### insertRects

    protected void insertRects(java.awt.Rectangle[] rects,
                               int srcPos,
                               int dstPos,
                               int len)

### ensureCapacity

    public void ensureCapacity(int sz)

Copyright © 2008 Apache Software Foundation. All Rights Reserved.