## org.jfree.chart.renderer.category
Class LineAndShapeRenderer

    java.lang.Object
      org.jfree.chart.renderer.AbstractRenderer
          org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
              org.jfree.chart.renderer.category.LineAndShapeRenderer

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, LegendItemSource, CategoryItemRenderer, org.jfree.util.PublicCloneable

Direct Known Subclasses:
  DefaultCategoryItemRenderer, LineRenderer3D, StatisticalLineAndShapeRenderer

    public class LineAndShapeRenderer

extends AbstractCategoryItemRenderer
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A renderer that draws shapes for each data item, and lines between data items (for use with the `CategoryPlot` class).

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.jfree.chart.renderer.AbstractRenderer
`DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO`

Constructor Summary
`LineAndShapeRenderer()` Creates a renderer with both lines and shapes visible by default.
`LineAndShapeRenderer(boolean lines, boolean shapes)` Creates a new renderer with lines and/or shapes visible.

Method Summary
`java.lang.Object` `clone()` Returns an independent copy of the renderer.
`void` `drawItem(java.awt.Graphics2D g2, CategoryItemRendererState state, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)` Draw a single data item.
`boolean` `equals(java.lang.Object obj)` Tests this renderer for equality with an arbitrary object.
`boolean` `getBaseLinesVisible()` Returns the base 'lines visible' attribute.
`boolean` `getBaseShapesFilled()` Returns the base 'shape filled' attribute.
`boolean` `getBaseShapesVisible()` Returns the base 'shape visible' attribute.
`boolean` `getDrawOutlines()` Returns `true` if outlines should be drawn for shapes, and `false` otherwise.
`boolean` `getItemLineVisible(int series, int item)` Returns the flag used to control whether or not the line for an item is visible.
`double` `getItemMargin()` Returns the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width).
`boolean` `getItemShapeFilled(int series, int item)` Returns the flag used to control whether or not the shape for an item is filled.
`boolean` `getItemShapeVisible(int series, int item)` Returns the flag used to control whether or not the shape for an item is visible.
`LegendItem` `getLegendItem(int datasetIndex, int series)` Returns a legend item for a series.
`java.lang.Boolean` `getLinesVisible()` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`int` `getPassCount()` This renderer uses two passes to draw the data.
`java.lang.Boolean` `getSeriesLinesVisible(int series)` Returns the flag used to control whether or not the lines for a series are visible.
`boolean` `getSeriesShapesFilled(int series)` Returns the flag used to control whether or not the shapes for a series are filled.
`java.lang.Boolean` `getSeriesShapesVisible(int series)` Returns the flag used to control whether or not the shapes for a series are visible.
`java.lang.Boolean` `getShapesFilled()` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`java.lang.Boolean` `getShapesVisible()` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`boolean` `getUseFillPaint()` Returns `true` if the renderer should use the fill paint setting to fill shapes, and `false` if it should just use the regular paint.
`boolean` `getUseOutlinePaint()` Returns the flag that controls whether the outline paint is used for shape outlines.
`boolean` `getUseSeriesOffset()` Returns the flag that controls whether or not the x-position for each data item is offset within the category according to the series.
`void` `setBaseLinesVisible(boolean flag)` Sets the base 'lines visible' flag and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseShapesFilled(boolean flag)` Sets the base 'shapes filled' flag and sends a `RendererChangeEvent` to all registered listeners.
`void` `setBaseShapesVisible(boolean flag)` Sets the base 'shapes visible' flag and sends a `RendererChangeEvent` to all registered listeners.
`void` `setDrawOutlines(boolean flag)` Sets the flag that controls whether outlines are drawn for shapes, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setItemMargin(double margin)` Sets the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width), and sends a `RendererChangeEvent` to all registered listeners.
`void` `setLinesVisible(boolean visible)` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`void` `setLinesVisible(java.lang.Boolean visible)` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`void` `setSeriesLinesVisible(int series, boolean visible)` Sets the 'lines visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesLinesVisible(int series, java.lang.Boolean flag)` Sets the 'lines visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesFilled(int series, boolean filled)` Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesFilled(int series, java.lang.Boolean filled)` Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesVisible(int series, boolean visible)` Sets the 'shapes visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesVisible(int series, java.lang.Boolean flag)` Sets the 'shapes visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setShapesFilled(boolean filled)` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`void` `setShapesFilled(java.lang.Boolean filled)` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`void` `setShapesVisible(boolean visible)` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`void` `setShapesVisible(java.lang.Boolean visible)` Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
`void` `setUseFillPaint(boolean flag)` Sets the flag that controls whether the fill paint is used to fill shapes, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setUseOutlinePaint(boolean use)` Sets the flag that controls whether the outline paint is used for shape outlines, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setUseSeriesOffset(boolean offset)` Sets the flag that controls whether or not the x-position for each data item is offset within its category according to the series, and sends a `RendererChangeEvent` to all registered listeners.

Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer

`addItemEntity, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeGridline, drawRangeMarker, findRangeBounds, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, setBaseItemLabelGenerator, setBaseItemURLGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setItemURLGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesItemURLGenerator, setSeriesToolTipGenerator, setToolTipGenerator`

Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

`addChangeListener, calculateLabelAnchorPoint, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.chart.renderer.category.CategoryItemRenderer

`addChangeListener, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke`

Constructor Detail

### LineAndShapeRenderer

    public LineAndShapeRenderer()

  Creates a renderer with both lines and shapes visible by default.

### LineAndShapeRenderer

    public LineAndShapeRenderer(boolean lines,
                                boolean shapes)

  Creates a new renderer with lines and/or shapes visible.

  Parameters:
    `lines` - draw lines?
    `shapes` - draw shapes?

Method Detail

### getItemLineVisible

    public boolean getItemLineVisible(int series,
                                      int item)

  Returns the flag used to control whether or not the line for an item is visible.

  Parameters:
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
  Returns:
    A boolean.

### getLinesVisible

    public java.lang.Boolean getLinesVisible()

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Returns a flag that controls whether or not lines are drawn for ALL series. If this flag is `null`, then the "per series" settings will apply.

  Returns:
    A flag (possibly `null`).
  See Also:
    `setLinesVisible(Boolean)`

### setLinesVisible

    public void setLinesVisible(java.lang.Boolean visible)

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a `RendererChangeEvent` to all registered listeners. You need to set this to `null` if you want the "per series" settings to apply.

  Parameters:
    `visible` - the flag (`null` permitted).
  See Also:
    `getLinesVisible()`

### setLinesVisible

    public void setLinesVisible(boolean visible)

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag.
  See Also:
    `getLinesVisible()`

### getSeriesLinesVisible

    public java.lang.Boolean getSeriesLinesVisible(int series)

  Returns the flag used to control whether or not the lines for a series are visible.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    The flag (possibly `null`).
  See Also:
    `setSeriesLinesVisible(int, Boolean)`

### setSeriesLinesVisible

    public void setSeriesLinesVisible(int series,
                                      java.lang.Boolean flag)

  Sets the 'lines visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `flag` - the flag (`null` permitted).
  See Also:
    `getSeriesLinesVisible(int)`

### setSeriesLinesVisible

    public void setSeriesLinesVisible(int series,
                                      boolean visible)

  Sets the 'lines visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `visible` - the flag.
  See Also:
    `getSeriesLinesVisible(int)`

### getBaseLinesVisible

    public boolean getBaseLinesVisible()

  Returns the base 'lines visible' attribute.

  Returns:
    The base flag.
  See Also:
    `getBaseLinesVisible()`

### setBaseLinesVisible

    public void setBaseLinesVisible(boolean flag)

  Sets the base 'lines visible' flag and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.
  See Also:
    `getBaseLinesVisible()`

### getItemShapeVisible

    public boolean getItemShapeVisible(int series,
                                       int item)

  Returns the flag used to control whether or not the shape for an item is visible.

  Parameters:
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
  Returns:
    A boolean.

### getShapesVisible

    public java.lang.Boolean getShapesVisible()

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Returns the flag that controls whether the shapes are visible for the items in ALL series.

  Returns:
    The flag (possibly `null`).
  See Also:
    `setShapesVisible(Boolean)`

### setShapesVisible

    public void setShapesVisible(java.lang.Boolean visible)

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Sets the 'shapes visible' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag (`null` permitted).
  See Also:
    `getShapesVisible()`

### setShapesVisible

    public void setShapesVisible(boolean visible)

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Sets the 'shapes visible' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag.
  See Also:
    `getShapesVisible()`

### getSeriesShapesVisible

    public java.lang.Boolean getSeriesShapesVisible(int series)

  Returns the flag used to control whether or not the shapes for a series are visible.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    A boolean.
  See Also:
    `setSeriesShapesVisible(int, Boolean)`

### setSeriesShapesVisible

    public void setSeriesShapesVisible(int series,
                                       boolean visible)

  Sets the 'shapes visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `visible` - the flag.
  See Also:
    `getSeriesShapesVisible(int)`

### setSeriesShapesVisible

    public void setSeriesShapesVisible(int series,
                                       java.lang.Boolean flag)

  Sets the 'shapes visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `flag` - the flag.
  See Also:
    `getSeriesShapesVisible(int)`

### getBaseShapesVisible

    public boolean getBaseShapesVisible()

  Returns the base 'shape visible' attribute.

  Returns:
    The base flag.
  See Also:
    `setBaseShapesVisible(boolean)`

### setBaseShapesVisible

    public void setBaseShapesVisible(boolean flag)

  Sets the base 'shapes visible' flag and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.
  See Also:
    `getBaseShapesVisible()`

### getDrawOutlines

    public boolean getDrawOutlines()

  Returns `true` if outlines should be drawn for shapes, and `false` otherwise.

  Returns:
    A boolean.
  See Also:
    `setDrawOutlines(boolean)`

### setDrawOutlines

    public void setDrawOutlines(boolean flag)

  Sets the flag that controls whether outlines are drawn for shapes, and sends a `RendererChangeEvent` to all registered listeners.

  In some cases, shapes look better if they do NOT have an outline, but this flag allows you to set your own preference.

  Parameters:
    `flag` - the flag.
  See Also:
    `getDrawOutlines()`

### getUseOutlinePaint

    public boolean getUseOutlinePaint()

  Returns the flag that controls whether the outline paint is used for shape outlines. If not, the regular series paint is used.

  Returns:
    A boolean.
  See Also:
    `setUseOutlinePaint(boolean)`

### setUseOutlinePaint

    public void setUseOutlinePaint(boolean use)

  Sets the flag that controls whether the outline paint is used for shape outlines, and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `use` - the flag.
  See Also:
    `getUseOutlinePaint()`

### getItemShapeFilled

    public boolean getItemShapeFilled(int series,
                                      int item)

  Returns the flag used to control whether or not the shape for an item is filled. The default implementation passes control to the `getSeriesShapesFilled` method. You can override this method if you require different behaviour.

  Parameters:
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
  Returns:
    A boolean.

### getSeriesShapesFilled

    public boolean getSeriesShapesFilled(int series)

  Returns the flag used to control whether or not the shapes for a series are filled.

  Parameters:
    `series` - the series index (zero-based).
  Returns:
    A boolean.

### getShapesFilled

    public java.lang.Boolean getShapesFilled()

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Returns the flag that controls whether or not shapes are filled for ALL series.

  Returns:
    A Boolean.
  See Also:
    `setShapesFilled(Boolean)`

### setShapesFilled

    public void setShapesFilled(boolean filled)

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Sets the 'shapes filled' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `filled` - the flag.
  See Also:
    `getShapesFilled()`

### setShapesFilled

    public void setShapesFilled(java.lang.Boolean filled)

  Deprecated. As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).

  Sets the 'shapes filled' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `filled` - the flag (`null` permitted).
  See Also:
    `getShapesFilled()`

### setSeriesShapesFilled

    public void setSeriesShapesFilled(int series,
                                      java.lang.Boolean filled)

  Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `filled` - the flag.
  See Also:
    `getSeriesShapesFilled(int)`

### setSeriesShapesFilled

    public void setSeriesShapesFilled(int series,
                                      boolean filled)

  Sets the 'shapes filled' flag for a series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `series` - the series index (zero-based).
    `filled` - the flag.
  See Also:
    `getSeriesShapesFilled(int)`

### getBaseShapesFilled

    public boolean getBaseShapesFilled()

  Returns the base 'shape filled' attribute.

  Returns:
    The base flag.
  See Also:
    `setBaseShapesFilled(boolean)`

### setBaseShapesFilled

    public void setBaseShapesFilled(boolean flag)

  Sets the base 'shapes filled' flag and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.
  See Also:
    `getBaseShapesFilled()`

### getUseFillPaint

    public boolean getUseFillPaint()

  Returns `true` if the renderer should use the fill paint setting to fill shapes, and `false` if it should just use the regular paint.

  Returns:
    A boolean.
  See Also:
    `setUseFillPaint(boolean)`

### setUseFillPaint

    public void setUseFillPaint(boolean flag)

  Sets the flag that controls whether the fill paint is used to fill shapes, and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.
  See Also:
    `getUseFillPaint()`

### getUseSeriesOffset

    public boolean getUseSeriesOffset()

  Returns the flag that controls whether or not the x-position for each data item is offset within the category according to the series.

  Returns:
    A boolean.
  Since:
    1.0.7
  See Also:
    `setUseSeriesOffset(boolean)`

### setUseSeriesOffset

    public void setUseSeriesOffset(boolean offset)

  Sets the flag that controls whether or not the x-position for each data item is offset within its category according to the series, and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `offset` - the offset.
  Since:
    1.0.7
  See Also:
    `getUseSeriesOffset()`

### getItemMargin

    public double getItemMargin()

  Returns the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width). This can be used to match the offset alignment with the bars drawn by a `BarRenderer`).

  Returns:
    The item margin.
  Since:
    1.0.7
  See Also:
    `setItemMargin(double)`, `getUseSeriesOffset()`

### setItemMargin

    public void setItemMargin(double margin)

  Sets the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width), and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `margin` - the margin (0.0 <= margin < 1.0).
  Since:
    1.0.7
  See Also:
    `getItemMargin()`, `getUseSeriesOffset()`

### getLegendItem

    public LegendItem getLegendItem(int datasetIndex,
                                    int series)

  Returns a legend item for a series.

  Specified by:
    `getLegendItem` in interface `CategoryItemRenderer`
  Overrides:
    `getLegendItem` in class `AbstractCategoryItemRenderer`
  Parameters:
    `datasetIndex` - the dataset index (zero-based).
    `series` - the series index (zero-based).
  Returns:
    The legend item.
  See Also:
    `AbstractCategoryItemRenderer.getLegendItems()`

### getPassCount

    public int getPassCount()

  This renderer uses two passes to draw the data.

  Specified by:
    `getPassCount` in interface `CategoryItemRenderer`
  Overrides:
    `getPassCount` in class `AbstractCategoryItemRenderer`
  Returns:
    The pass count (`2` for this renderer).

### drawItem

    public void drawItem(java.awt.Graphics2D g2,
                         CategoryItemRendererState state,
                         java.awt.geom.Rectangle2D dataArea,
                         CategoryPlot plot,
                         CategoryAxis domainAxis,
                         ValueAxis rangeAxis,
                         CategoryDataset dataset,
                         int row,
                         int column,
                         int pass)

  Draw a single data item.

  Specified by:
    `drawItem` in interface `CategoryItemRenderer`
  Parameters:
    `g2` - the graphics device.
    `state` - the renderer state.
    `dataArea` - the area in which the data is drawn.
    `plot` - the plot.
    `domainAxis` - the domain axis.
    `rangeAxis` - the range axis.
    `dataset` - the dataset.
    `row` - the row index (zero-based).
    `column` - the column index (zero-based).
    `pass` - the pass index.

### equals

    public boolean equals(java.lang.Object obj)

  Tests this renderer for equality with an arbitrary object.

  Overrides:
    `equals` in class `AbstractCategoryItemRenderer`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    A boolean.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns an independent copy of the renderer.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractCategoryItemRenderer`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - should not happen.