com.jrefinery.chart
Class HorizontalBarRenderer3D

java.lang.Object
  extended by com.jrefinery.chart.AbstractCategoryItemRenderer
      extended by com.jrefinery.chart.BarRenderer
          extended by com.jrefinery.chart.HorizontalBarRenderer
              extended by com.jrefinery.chart.HorizontalBarRenderer3D
All Implemented Interfaces:
CategoryItemRenderer

public class HorizontalBarRenderer3D
extends HorizontalBarRenderer

A renderer that handles the drawing of 3D bars for a horizontal bar plot.


Field Summary
protected  double effect3d
          The size of the 3D effect (in pixels).
 
Fields inherited from class com.jrefinery.chart.BarRenderer
BAR_OUTLINE_WIDTH_THRESHOLD, categoryGapSpan, categorySpan, itemGapSpan, itemSpan, itemWidth, zeroInJava2D
 
Fields inherited from class com.jrefinery.chart.AbstractCategoryItemRenderer
info, toolTipGenerator
 
Constructor Summary
HorizontalBarRenderer3D()
          Default constructor.
HorizontalBarRenderer3D(com.jrefinery.chart.tooltips.CategoryToolTipGenerator toolTipGenerator, double effect3d)
          Constructs a new renderer.
 
Method Summary
 int barWidthsPerCategory(CategoryDataset data)
          Returns the number of bar widths in each category (used to calculate the width of a single bar).
 void drawCategoryItem(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, ValueAxis axis, CategoryDataset data, int series, java.lang.Object category, int categoryIndex, java.lang.Object previousCategory)
          Draws the bar for a single (series, category) data item.
 void drawPlotBackground(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D axisDataArea, java.awt.Shape dataClipRegion)
          Draws the background for the plot.
 void drawRangeMarker(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, Marker marker, java.awt.geom.Rectangle2D axisDataArea, java.awt.Shape dataClipRegion)
          Draws a vertical line across the chart to represent the marker.
 java.awt.geom.Rectangle2D getAxisArea(java.awt.geom.Rectangle2D plotArea)
          Returns the area that the axes (and date) must fit into.
 java.awt.Shape getDataClipRegion(java.awt.geom.Rectangle2D dataArea)
          Returns the clip region...usually returns the dataArea, but some charts (e.g.
 boolean hasItemGaps()
          Returns true to indicate that this renderer does allow for gaps between items.
 
Methods inherited from class com.jrefinery.chart.HorizontalBarRenderer
initialise
 
Methods inherited from class com.jrefinery.chart.BarRenderer
calculateCategoryAndItemSpans, isStacked
 
Methods inherited from class com.jrefinery.chart.AbstractCategoryItemRenderer
getToolTipGenerator, setToolTipGenerator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.jrefinery.chart.CategoryItemRenderer
isStacked
 

Field Detail

effect3d

protected double effect3d
The size of the 3D effect (in pixels).

Constructor Detail

HorizontalBarRenderer3D

public HorizontalBarRenderer3D()
Default constructor.


HorizontalBarRenderer3D

public HorizontalBarRenderer3D(com.jrefinery.chart.tooltips.CategoryToolTipGenerator toolTipGenerator,
                               double effect3d)
Constructs a new renderer.

Method Detail

hasItemGaps

public boolean hasItemGaps()
Returns true to indicate that this renderer does allow for gaps between items.

Overrides:
hasItemGaps in class HorizontalBarRenderer

barWidthsPerCategory

public int barWidthsPerCategory(CategoryDataset data)
Returns the number of bar widths in each category (used to calculate the width of a single bar).

Overrides:
barWidthsPerCategory in class HorizontalBarRenderer
Parameters:
data - The data.

getAxisArea

public java.awt.geom.Rectangle2D getAxisArea(java.awt.geom.Rectangle2D plotArea)
Returns the area that the axes (and date) must fit into.

Often this is the same as the plotArea, but sometimes a smaller region should be used (for example, the 3D charts require the axes to use less space in order to leave room for the 'depth' part of the chart).

Specified by:
getAxisArea in interface CategoryItemRenderer
Overrides:
getAxisArea in class AbstractCategoryItemRenderer
Parameters:
plotArea - The plot area.

getDataClipRegion

public java.awt.Shape getDataClipRegion(java.awt.geom.Rectangle2D dataArea)
Returns the clip region...usually returns the dataArea, but some charts (e.g. 3D) have non rectangular clip regions.

Specified by:
getDataClipRegion in interface CategoryItemRenderer
Overrides:
getDataClipRegion in class AbstractCategoryItemRenderer
Parameters:
dataArea - The data area.

drawPlotBackground

public void drawPlotBackground(java.awt.Graphics2D g2,
                               CategoryPlot plot,
                               java.awt.geom.Rectangle2D axisDataArea,
                               java.awt.Shape dataClipRegion)
Draws the background for the plot.

For most charts, the axisDataArea and the dataClipArea are the same. One case where they are different is the 3D-effect bar charts...here the data clip area extends above and to the right of the axisDataArea.

Specified by:
drawPlotBackground in interface CategoryItemRenderer
Overrides:
drawPlotBackground in class AbstractCategoryItemRenderer
Parameters:
g2 - The graphics device.
plot - The plot.
axisDataArea - The area inside the axes.
dataClipArea - The data clip area.

drawRangeMarker

public void drawRangeMarker(java.awt.Graphics2D g2,
                            CategoryPlot plot,
                            ValueAxis axis,
                            Marker marker,
                            java.awt.geom.Rectangle2D axisDataArea,
                            java.awt.Shape dataClipRegion)
Draws a vertical line across the chart to represent the marker.

Specified by:
drawRangeMarker in interface CategoryItemRenderer
Overrides:
drawRangeMarker in class HorizontalBarRenderer
Parameters:
g2 - The graphics device.
plot - The plot.
axis - The value axis.
marker - The marker line.
axisDataArea - The axis data area.
dataClipRegion - The data clip region.

drawCategoryItem

public void drawCategoryItem(java.awt.Graphics2D g2,
                             java.awt.geom.Rectangle2D dataArea,
                             CategoryPlot plot,
                             ValueAxis axis,
                             CategoryDataset data,
                             int series,
                             java.lang.Object category,
                             int categoryIndex,
                             java.lang.Object previousCategory)
Draws the bar for a single (series, category) data item.

Specified by:
drawCategoryItem in interface CategoryItemRenderer
Overrides:
drawCategoryItem in class HorizontalBarRenderer
Parameters:
g2 - The graphics device.
dataArea - The data area.
plot - The plot.
axis - The range axis.
data - The data.
series - The series number (zero-based index).
category - The category.
categoryIndex - The category number (zero-based index).
previousCategory - The previous category.


Copyright © 2003 MBARI.

The Monterey Bay Aquarium Research Institute (MBARI) provides this documentation and code "as is", with no warranty, express or implied, of its quality or consistency. It is provided without support and without obligation on the part of MBARI to assist in its use, correction, modification, or enhancement.