com.jogamp.opengl.util.packrect

## Class Level

- java.lang.Object
- - com.jogamp.opengl.util.packrect.Level

-     public class Level
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Level(int width, int height, int yPos, LevelSet holder)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `add(Rect rect)` Tries to add the given rectangle to this level only allowing non-disruptive changes like trivial expansion of the last level in the RectanglePacker and allocation from the free list.
    `void` | `compact(Object backingStore, BackingStoreManager manager)`
    `boolean` | `couldAllocateIfCompacted(Rect rect)` Indicates whether this Level could satisfy an allocation request if it were compacted.
    `void` | `dumpFreeSpace()`
    `int` | `h()`
    `boolean` | `isEmpty()` Indicates whether this Level contains no rectangles.
    `Iterator<Rect>` | `iterator()`
    `boolean` | `remove(Rect rect)` Removes the given Rect from this Level.
    `void` | `updateRectangleReferences()` Updates the references to the Rect objects in this Level with the "next locations" of those Rects.
    `void` | `visit(RectVisitor visitor)` Visits all Rects contained in this Level.
    `int` | `w()`
    `int` | `yPos()`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Level

          public Level(int width,
               int height,
               int yPos,
               LevelSet holder)

  - ### Method Detail

    - #### w

          public int w()

    - #### h

          public int h()

    - #### yPos

          public int yPos()

    - #### add

          public boolean add(Rect rect)

      Tries to add the given rectangle to this level only allowing non-disruptive changes like trivial expansion of the last level in the RectanglePacker and allocation from the free list. More disruptive changes like compaction of the level must be requested explicitly.

    - #### remove

          public boolean remove(Rect rect)

      Removes the given Rect from this Level.

    - #### isEmpty

          public boolean isEmpty()

      Indicates whether this Level contains no rectangles.

    - #### couldAllocateIfCompacted

          public boolean couldAllocateIfCompacted(Rect rect)

      Indicates whether this Level could satisfy an allocation request if it were compacted.

    - #### compact

          public void compact(Object backingStore,
                     BackingStoreManager manager)

    - #### iterator

          public Iterator<Rect> iterator()

    - #### visit

          public void visit(RectVisitor visitor)

      Visits all Rects contained in this Level.

    - #### updateRectangleReferences

          public void updateRectangleReferences()

      Updates the references to the Rect objects in this Level with the "next locations" of those Rects. This is actually used to update the new Rects in a newly laid-out LevelSet with the original Rects.

    - #### dumpFreeSpace

          public void dumpFreeSpace()

Copyright 2010 JogAmp Community.