Example usage for org.jfree.chart.renderer.xy XYItemRendererState getProcessVisibleItemsOnly

List of usage examples for org.jfree.chart.renderer.xy XYItemRendererState getProcessVisibleItemsOnly

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.xy XYItemRendererState getProcessVisibleItemsOnly.

Prototype

public boolean getProcessVisibleItemsOnly() 

Source Link

Document

Returns the flag that controls whether the plot passes all data items in each series to the renderer, or just the visible items.

Usage

From source file:org.openfaces.component.chart.impl.plots.XYPlotAdapter.java

private void renderItems(Graphics2D g2, Rectangle2D dataArea, PlotRenderingInfo info,
        CrosshairState crosshairState, XYDataset xyDataset, ValueAxis xValueAxis, ValueAxis yValueAxis,
        XYItemRenderer xyItemRenderer, XYItemRendererState state, int totalRendererPasses, int seriesIndex) {
    for (int currentPassIndex = 0; currentPassIndex < totalRendererPasses; currentPassIndex++) {
        if (xyDataset.getItemCount(seriesIndex) == 0) {
            return;
        }// w  w  w  .  j  av  a 2s .  co m

        int firstItemIndex = 0;
        int lastItemIndex = xyDataset.getItemCount(seriesIndex) - 1;

        if (state.getProcessVisibleItemsOnly()) {
            final double xLowerBound = xValueAxis.getLowerBound();
            final double xUpperBound = xValueAxis.getUpperBound();
            int[] itemBounds = RendererUtilities.findLiveItems(xyDataset, seriesIndex, xLowerBound,
                    xUpperBound);
            firstItemIndex = itemBounds[0] - 1;
            if (firstItemIndex < 0) {
                firstItemIndex = 0;
            }
            final int lastBoundaryIndex = itemBounds[1] + 1;
            if (lastBoundaryIndex < lastItemIndex) {
                lastItemIndex = lastBoundaryIndex;
            }
        }

        state.startSeriesPass(xyDataset, seriesIndex, firstItemIndex, lastItemIndex, currentPassIndex,
                totalRendererPasses);

        for (int item = firstItemIndex; item <= lastItemIndex; item++) {
            xyItemRenderer.drawItem(g2, state, dataArea, info, this, xValueAxis, yValueAxis, xyDataset,
                    seriesIndex, item, crosshairState, currentPassIndex);
        }

        state.endSeriesPass(xyDataset, seriesIndex, firstItemIndex, lastItemIndex, currentPassIndex,
                totalRendererPasses);
    }
}