org.apache.batik.gvt
Class MarkerShapePainter

java.lang.Object
  extended by org.apache.batik.gvt.MarkerShapePainter
All Implemented Interfaces:
ShapePainter

public class MarkerShapePainter
extends Object
implements ShapePainter

A shape painter that can be used to paint markers on a shape.


Field Summary
protected  Marker endMarker
          End Marker
protected  ExtendedShape extShape
          The Shape to be painted.
protected  Marker middleMarker
          Middle Marker
protected  Marker startMarker
          Start Marker
 
Constructor Summary
MarkerShapePainter(Shape shape)
          Constructs a new MarkerShapePainter that can be used to markers on top of a shape.
 
Method Summary
protected  ProxyGraphicsNode buildEndMarkerProxy()
          Builds a proxy GraphicsNode for the input Marker to be drawn at the end position.
protected  void buildMarkerGroup()
          Builds a new marker group with the current set of markers.
protected  ProxyGraphicsNode[] buildMiddleMarkerProxies()
          Builds a proxy GraphicsNode for the input Marker to be drawn at the middle positions
protected  ProxyGraphicsNode buildStartMarkerProxy()
          Builds a proxy GraphicsNode for the input Marker to be drawn at the start position
 Marker getEndMarker()
          Returns the marker that shall be drawn at the last vertex of the given shape.
 ExtendedShape getExtShape()
          Gets the Shape this shape painter is associated with as an Extended Shape.
 Marker getMiddleMarker()
          Returns the marker that shall be drawn at every other vertex (not the first or the last one) of the given shape.
 Shape getPaintedArea()
          Returns the area painted by this shape painter.
 Rectangle2D getPaintedBounds2D()
          Returns the bounds of the area painted by this shape painter
protected  Point2D getSegmentTerminatingPoint(double[] coords, int segType)
          Extracts the terminating point, depending on the segment type.
 Shape getSensitiveArea()
          Returns the area covered by this shape painter (even if not painted).
 Rectangle2D getSensitiveBounds2D()
          Returns the bounds of the area covered by this shape painte (even if not painted).
 Shape getShape()
          Gets the Shape this shape painter is associated with.
 Marker getStartMarker()
          Returns the marker that shall be drawn at the first vertex of the given shape.
 boolean inPaintedArea(Point2D pt)
          Returns true if pt is in the area painted by this shape painter
 boolean inSensitiveArea(Point2D pt)
          Returns true if pt is in the sensitive area.
 double[] normalize(double[] v)
          Normalizes the input vector.
 void paint(Graphics2D g2d)
          Paints the specified shape using the specified Graphics2D.
 void setEndMarker(Marker endMarker)
          Sets the marker that shall be drawn at the last vertex of the given shape.
 void setMiddleMarker(Marker middleMarker)
          Sets the marker that shall be drawn at every other vertex (not the first or the last one) of the given shape.
 void setShape(Shape shape)
          Sets the Shape this shape painter is associated with.
 void setStartMarker(Marker startMarker)
          Sets the marker that shall be drawn at the first vertex of the given shape.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

extShape

protected ExtendedShape extShape
The Shape to be painted.


startMarker

protected Marker startMarker
Start Marker


middleMarker

protected Marker middleMarker
Middle Marker


endMarker

protected Marker endMarker
End Marker

Constructor Detail

MarkerShapePainter

public MarkerShapePainter(Shape shape)
Constructs a new MarkerShapePainter that can be used to markers on top of a shape.

Parameters:
shape - Shape to be painted by this painter. Should not be null
Method Detail

paint

public void paint(Graphics2D g2d)
Paints the specified shape using the specified Graphics2D.

Specified by:
paint in interface ShapePainter
Parameters:
g2d - the Graphics2D to use

getPaintedArea

public Shape getPaintedArea()
Returns the area painted by this shape painter.

Specified by:
getPaintedArea in interface ShapePainter

getPaintedBounds2D

public Rectangle2D getPaintedBounds2D()
Returns the bounds of the area painted by this shape painter

Specified by:
getPaintedBounds2D in interface ShapePainter

inPaintedArea

public boolean inPaintedArea(Point2D pt)
Returns true if pt is in the area painted by this shape painter

Specified by:
inPaintedArea in interface ShapePainter

getSensitiveArea

public Shape getSensitiveArea()
Returns the area covered by this shape painter (even if not painted). This is always null for Markers.

Specified by:
getSensitiveArea in interface ShapePainter

getSensitiveBounds2D

public Rectangle2D getSensitiveBounds2D()
Returns the bounds of the area covered by this shape painte (even if not painted). This is always null for Markers.

Specified by:
getSensitiveBounds2D in interface ShapePainter

inSensitiveArea

public boolean inSensitiveArea(Point2D pt)
Returns true if pt is in the sensitive area. This is always false for Markers.

Specified by:
inSensitiveArea in interface ShapePainter

setShape

public void setShape(Shape shape)
Sets the Shape this shape painter is associated with.

Specified by:
setShape in interface ShapePainter
Parameters:
shape - new shape this painter should be associated with. Should not be null.

getExtShape

public ExtendedShape getExtShape()
Gets the Shape this shape painter is associated with as an Extended Shape.

Returns:
shape associated with this painter

getShape

public Shape getShape()
Gets the Shape this shape painter is associated with.

Specified by:
getShape in interface ShapePainter
Returns:
shape associated with this painter

getStartMarker

public Marker getStartMarker()
Returns the marker that shall be drawn at the first vertex of the given shape.


setStartMarker

public void setStartMarker(Marker startMarker)
Sets the marker that shall be drawn at the first vertex of the given shape.

Parameters:
startMarker - the start marker

getMiddleMarker

public Marker getMiddleMarker()
Returns the marker that shall be drawn at every other vertex (not the first or the last one) of the given shape.


setMiddleMarker

public void setMiddleMarker(Marker middleMarker)
Sets the marker that shall be drawn at every other vertex (not the first or the last one) of the given shape.

Parameters:
middleMarker - the middle marker

getEndMarker

public Marker getEndMarker()
Returns the marker that shall be drawn at the last vertex of the given shape.


setEndMarker

public void setEndMarker(Marker endMarker)
Sets the marker that shall be drawn at the last vertex of the given shape.

Parameters:
endMarker - the end marker

buildMarkerGroup

protected void buildMarkerGroup()
Builds a new marker group with the current set of markers.


buildStartMarkerProxy

protected ProxyGraphicsNode buildStartMarkerProxy()
Builds a proxy GraphicsNode for the input Marker to be drawn at the start position


buildEndMarkerProxy

protected ProxyGraphicsNode buildEndMarkerProxy()
Builds a proxy GraphicsNode for the input Marker to be drawn at the end position.


buildMiddleMarkerProxies

protected ProxyGraphicsNode[] buildMiddleMarkerProxies()
Builds a proxy GraphicsNode for the input Marker to be drawn at the middle positions


normalize

public double[] normalize(double[] v)
Normalizes the input vector. This assumes an non-zero length


getSegmentTerminatingPoint

protected Point2D getSegmentTerminatingPoint(double[] coords,
                                             int segType)
Extracts the terminating point, depending on the segment type.



Copyright © 2008 Apache Software Foundation. All Rights Reserved.