net.sf.jaxodraw.gui.grid
Class JaxoDefaultGrid

java.lang.Object
  extended by net.sf.jaxodraw.gui.grid.JaxoDefaultGrid
All Implemented Interfaces:
Transparency, Cloneable, JaxoGrid, JaxoPaintableGrid

public class JaxoDefaultGrid
extends Object
implements JaxoPaintableGrid, Cloneable

Paints a grid on the canvas.

Since:
2.0

Field Summary
 
Fields inherited from interface net.sf.jaxodraw.gui.grid.JaxoPaintableGrid
STYLE_CROSS, STYLE_DOT, STYLE_LINE, STYLE_LINE_HONEYCOMB, TYPE_HEXAGONAL, TYPE_RECTANGULAR
 
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
 
Constructor Summary
JaxoDefaultGrid(int gsize, int gtype)
          Constructor.
JaxoDefaultGrid(int gsize, int gtype, Dimension canvasDim)
          Constructor: Sets the dimension, type and value from the arguments.
JaxoDefaultGrid(int gsize, int gtype, int gridStyle, Color color)
          Constructor: Sets the dimension to the current screen size and take the other argument values.
JaxoDefaultGrid(int gsize, int gtype, int gridStyle, Color color, Dimension canvasDim)
          Constructor: Sets the dimension, type and value from the arguments.
 
Method Summary
 void addChangeListener(ChangeListener l)
          ChangeEvents will be fired everytime the actual image of the grid changes (not on canvasSize changes).
 Object clone()
          Standard clone with all properties at the same values.
 void copyFrom(JaxoDefaultGrid g)
          Copies all properties from the argument.
protected  void fireStateChanged()
          Notifies all listeners of a state change.
 Color getBackground()
          Background of the grid (filling the whole canvas).
 Dimension getCanvasSize()
          Size of the grid canvas.
 Color getGridColor()
          Color of the grid.
 int getGridSize()
          Returns the current size of the grid.
 int getGridStyle()
          Grid style (STYLE_XYZ constant).
 int getGridType()
          Returns the type of the grid.
 int getTransparency()
          Base on the 'transparent' property and the 'background' and 'gridColor' properties, assuming SRC_OVER rule.
 boolean isPainted()
          Determine if this grid gets painted.
 boolean isSnapped(Point p)
          Determines if 'p' is on the grid.
 boolean isSnapping()
          Check if points are currently snapped to the grid.
static JaxoDefaultGrid newDefaultGrid()
          A new grid with the values from the preferences.
 void paint(Graphics2D g)
          Paints the grid.
 void removeChangeListener(ChangeListener l)
          Removes a change listener.
 void setBackground(Color value)
          Sets the grid background color.
 void setCanvasSize(Dimension value)
          Sets the size of the grid canvas.
 void setGridColor(Color value)
          Sets the color of the grid points.
 void setGridSize(int value)
          Sets the size of the grid to the given value.
 void setGridStyle(int value)
          Set style, and repaint.
 void setGridType(int value)
          Sets the type of the grid (TYPE_XYZ).
 void setPainted(boolean painted)
          Determine if this grid gets painted.
 void setSnapping(boolean snapping)
          Switch on/off the snapping of this grid.
 Point snappedPoint(Point p)
          Closest point to 'p' on the grid.
 void snapPoint(Point p)
          Change 'p' to the closest point on the grid.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JaxoDefaultGrid

public JaxoDefaultGrid(int gsize,
                       int gtype)
Constructor.

Parameters:
gsize - The grid size to be set.
gtype - The grid type to be set.

JaxoDefaultGrid

public JaxoDefaultGrid(int gsize,
                       int gtype,
                       int gridStyle,
                       Color color)
Constructor: Sets the dimension to the current screen size and take the other argument values.

Parameters:
gsize - The grid size to be set.
gtype - The grid type to be set.
gridStyle - The grid style to be set
color - The grid color to be set

JaxoDefaultGrid

public JaxoDefaultGrid(int gsize,
                       int gtype,
                       Dimension canvasDim)
Constructor: Sets the dimension, type and value from the arguments.

Parameters:
gsize - The grid size to be set.
gtype - The grid type to be set.
canvasDim - The canvasSize.

JaxoDefaultGrid

public JaxoDefaultGrid(int gsize,
                       int gtype,
                       int gridStyle,
                       Color color,
                       Dimension canvasDim)
Constructor: Sets the dimension, type and value from the arguments.

Parameters:
gsize - The grid size to be set.
gtype - The grid type to be set.
gridStyle - The grid style to be set.
color - The grid color to be set.
canvasDim - The current canvas size.
Method Detail

clone

public Object clone()
             throws CloneNotSupportedException
Standard clone with all properties at the same values.

Overrides:
clone in class Object
Returns:
A clone of this grid.
Throws:
CloneNotSupportedException - If the object's class does not support the Cloneable interface.

copyFrom

public void copyFrom(JaxoDefaultGrid g)
Copies all properties from the argument.

Parameters:
g - The grid to take the properties from.

addChangeListener

public void addChangeListener(ChangeListener l)
ChangeEvents will be fired everytime the actual image of the grid changes (not on canvasSize changes).

Specified by:
addChangeListener in interface JaxoPaintableGrid
Parameters:
l - The listener to add.

removeChangeListener

public void removeChangeListener(ChangeListener l)
Removes a change listener.

Specified by:
removeChangeListener in interface JaxoPaintableGrid
Parameters:
l - The listener to remove.

fireStateChanged

protected void fireStateChanged()
Notifies all listeners of a state change.


isSnapped

public boolean isSnapped(Point p)
Determines if 'p' is on the grid. This is equivalent to p.equals(snappedPoint(p)).

Specified by:
isSnapped in interface JaxoGrid
Parameters:
p - The point to snap.
Returns:
True if p is on the grid.

snappedPoint

public final Point snappedPoint(Point p)
Closest point to 'p' on the grid.

Specified by:
snappedPoint in interface JaxoGrid
Parameters:
p - The point to snap.
Returns:
The closest grid point.

snapPoint

public final void snapPoint(Point p)
Change 'p' to the closest point on the grid.

Specified by:
snapPoint in interface JaxoGrid
Parameters:
p - The point to snap.

getTransparency

public final int getTransparency()
Base on the 'transparent' property and the 'background' and 'gridColor' properties, assuming SRC_OVER rule.

Specified by:
getTransparency in interface Transparency
Returns:
The transparency.

paint

public final void paint(Graphics2D g)
Paints the grid.

Specified by:
paint in interface JaxoPaintableGrid
Parameters:
g - The graphics context to paint the grid.

getCanvasSize

public Dimension getCanvasSize()
Size of the grid canvas. This is the size of the area on which the grid will be painted.

Specified by:
getCanvasSize in interface JaxoPaintableGrid
Returns:
The size of the grid canvas.

setCanvasSize

public void setCanvasSize(Dimension value)
Sets the size of the grid canvas. This is the size of the area on which the grid will be painted.

Specified by:
setCanvasSize in interface JaxoPaintableGrid
Parameters:
value - The size to set.

setGridSize

public final void setGridSize(int value)
Sets the size of the grid to the given value. This is the distance between two grid points. For a hexagonal grid, the grid size is always forced to be even.

Specified by:
setGridSize in interface JaxoPaintableGrid
Parameters:
value - The grid size to be set.

getGridSize

public final int getGridSize()
Returns the current size of the grid. This is the distance between two grid points.

Specified by:
getGridSize in interface JaxoPaintableGrid
Returns:
The grid size.

setGridType

public final void setGridType(int value)
Sets the type of the grid (TYPE_XYZ).

Specified by:
setGridType in interface JaxoPaintableGrid
Parameters:
value - The gridtype to be set.

getGridType

public final int getGridType()
Returns the type of the grid.

Specified by:
getGridType in interface JaxoPaintableGrid
Returns:
The gridtype (TYPE_XYZ).

getGridColor

public final Color getGridColor()
Color of the grid.

Specified by:
getGridColor in interface JaxoPaintableGrid
Returns:
The color of the grid.

setGridColor

public void setGridColor(Color value)
Sets the color of the grid points.

Specified by:
setGridColor in interface JaxoPaintableGrid
Parameters:
value - The color to set.

getBackground

public final Color getBackground()
Background of the grid (filling the whole canvas). May be null, indicating no background painting, and is ignored in 'transparent' mode. The default is White (the default mode is transparent, so it does not matter).

Returns:
The background color.

setBackground

public void setBackground(Color value)
Sets the grid background color.

Parameters:
value - The color to set.

getGridStyle

public final int getGridStyle()
Grid style (STYLE_XYZ constant). The default is STYLE_DOT.

Specified by:
getGridStyle in interface JaxoPaintableGrid
Returns:
The grid style.

setGridStyle

public void setGridStyle(int value)
Set style, and repaint.

Specified by:
setGridStyle in interface JaxoPaintableGrid
Parameters:
value - The style to set.

newDefaultGrid

public static final JaxoDefaultGrid newDefaultGrid()
A new grid with the values from the preferences.

Returns:
A new grid.

isPainted

public boolean isPainted()
Determine if this grid gets painted. By default, a grid is painted.

Specified by:
isPainted in interface JaxoPaintableGrid
Returns:
true if the grid is switched on, false otherwise.

setPainted

public void setPainted(boolean painted)
Determine if this grid gets painted.

Specified by:
setPainted in interface JaxoPaintableGrid
Parameters:
painted - true if this grid should get painted, false otherwise.

isSnapping

public boolean isSnapping()
Check if points are currently snapped to the grid. By default snapping is off.

Specified by:
isSnapping in interface JaxoPaintableGrid
Returns:
true if this grid snaps points, false otherwise.

setSnapping

public void setSnapping(boolean snapping)
Switch on/off the snapping of this grid.

Specified by:
setSnapping in interface JaxoPaintableGrid
Parameters:
snapping - true if this grid should snap points, false otherwise.


Copyright © 2003-2011 The JaxoDraw team. All Rights Reserved.