org.eclipse.gef.cloudio.internal.ui.layout

## Class DefaultLayouter

- java.lang.Object
- - org.eclipse.gef.cloudio.internal.ui.layout.DefaultLayouter

All Implemented Interfaces:
  ILayouter

    public class DefaultLayouter
    extends java.lang.Object
    implements ILayouter

### Field Summary

Fields
`static java.lang.String` `X_AXIS_VARIATION`
`static java.lang.String` `Y_AXIS_VARIATION`

### Constructor Summary

Constructors
Constructor and Description
`DefaultLayouter(int i, int j)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Point` `getInitialOffset(Word word, Rectangle cloudArea)` Calculates the initial offset of the given word, within the bounds of the specified rectangle.
`boolean` `layout(Point offset, Word word, Rectangle cloudArea, CloudMatrix mainTree)` Tries to position the given word in the given area.
`void` `setOption(java.lang.String optionName, java.lang.Object object)` Set Layouter-specific options.

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

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

### Field Detail

#### X_AXIS_VARIATION

    public static final java.lang.String X_AXIS_VARIATION

See Also:
  Constant Field Values

#### Y_AXIS_VARIATION

    public static final java.lang.String Y_AXIS_VARIATION

See Also:
  Constant Field Values

### Constructor Detail

#### DefaultLayouter

    public DefaultLayouter(int i,
                           int j)

### Method Detail

#### getInitialOffset

    public Point getInitialOffset(Word word,
                                  Rectangle cloudArea)

Description copied from interface: `ILayouter`
Calculates the initial offset of the given word, within the bounds of the specified rectangle. The layout algorithm will try to find a matching position around the initial offset.

Specified by:
  `getInitialOffset` in interface `ILayouter`
Returns:
  the initial offset for the given word

#### layout

    public boolean layout(Point offset,
                          Word word,
                          Rectangle cloudArea,
                          CloudMatrix mainTree)

Tries to position the given word in the given area. First a start point is chosen, then the `RectTree` of the word and the main area is used to detect whether the word can be placed at the given position, or not. If not, the current point is moved slightly in a spiral manner, similar to the approach of Wordle.

Specified by:
  `layout` in interface `ILayouter`
Parameters:
  `word` -
  `cloudArea` -
Returns:
  whether the given word could be placed in the respective cloud area

#### setOption

    public void setOption(java.lang.String optionName,
                          java.lang.Object object)

Description copied from interface: `ILayouter`
Set Layouter-specific options. See `DefaultLayouter` as an example.

Specified by:
  `setOption` in interface `ILayouter`