## org.apache.batik.gvt
Class MarkerShapePainter

    java.lang.Object
      org.apache.batik.gvt.MarkerShapePainter

All Implemented Interfaces:
  ShapePainter

public class MarkerShapePainter
extends java.lang.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(java.awt.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.
`java.awt.Shape` `getPaintedArea()` Returns the area painted by this shape painter.
`java.awt.geom.Rectangle2D` `getPaintedBounds2D()` Returns the bounds of the area painted by this shape painter
`protected java.awt.geom.Point2D` `getSegmentTerminatingPoint(double[] coords, int segType)` Extracts the terminating point, depending on the segment type.
`java.awt.Shape` `getSensitiveArea()` Returns the area covered by this shape painter (even if not painted).
`java.awt.geom.Rectangle2D` `getSensitiveBounds2D()` Returns the bounds of the area covered by this shape painte (even if not painted).
`java.awt.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(java.awt.geom.Point2D pt)` Returns true if pt is in the area painted by this shape painter
`boolean` `inSensitiveArea(java.awt.geom.Point2D pt)` Returns true if pt is in the sensitive area.
`double[]` `normalize(double[] v)` Normalizes the input vector.
`void` `paint(java.awt.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(java.awt.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(java.awt.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(java.awt.Graphics2D g2d)

  Paints the specified shape using the specified Graphics2D.

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

### getPaintedArea

    public java.awt.Shape getPaintedArea()

  Returns the area painted by this shape painter.

  Specified by:
    `getPaintedArea` in interface `ShapePainter`

### getPaintedBounds2D

    public java.awt.geom.Rectangle2D getPaintedBounds2D()

  Returns the bounds of the area painted by this shape painter

  Specified by:
    `getPaintedBounds2D` in interface `ShapePainter`

### inPaintedArea

    public boolean inPaintedArea(java.awt.geom.Point2D pt)

  Returns true if pt is in the area painted by this shape painter

  Specified by:
    `inPaintedArea` in interface `ShapePainter`

### getSensitiveArea

    public java.awt.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 java.awt.geom.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(java.awt.geom.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(java.awt.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 java.awt.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 java.awt.geom.Point2D getSegmentTerminatingPoint(double[] coords,
                                                               int segType)

  Extracts the terminating point, depending on the segment type.

Copyright © 2004 Apache Software Foundation. All Rights Reserved.