List of usage examples for org.jfree.chart.renderer.category CategoryItemRendererState setCrosshairState
public void setCrosshairState(CategoryCrosshairState state)
From source file:org.openfaces.component.chart.impl.plots.GridCategoryPlotAdapter.java
@Override public boolean render(Graphics2D g2, Rectangle2D dataArea, int index, PlotRenderingInfo info, CategoryCrosshairState crossHairState) { final boolean customRenderingModeEnabled = getRenderer() != null && getRenderer() instanceof AreaFillRenderer; if (!customRenderingModeEnabled) { return super.render(g2, dataArea, index, info, crossHairState); }/*from w w w. j av a 2 s . c o m*/ CategoryItemRenderer categoryItemRenderer = getRenderer(index); CategoryDataset categoryDataset = getDataset(index); boolean isDataSetNotEmpty = !DatasetUtilities.isEmptyOrNull(categoryDataset); boolean isAscendingRowOrdering = getRowRenderingOrder() == SortOrder.ASCENDING; if (!isDataSetNotEmpty || categoryItemRenderer == null) { return false; } CategoryItemRendererState rendererState = categoryItemRenderer.initialise(g2, dataArea, this, index, info); rendererState.setCrosshairState(crossHairState); int totalRows = categoryDataset.getRowCount(); if (isAscendingRowOrdering) { for (int currentRowIndex = 0; currentRowIndex < totalRows; currentRowIndex++) { renderColumns(g2, rendererState, dataArea, categoryItemRenderer, categoryDataset, index, currentRowIndex); } } else { for (int currentRowIndex = totalRows - 1; currentRowIndex >= 0; currentRowIndex--) { renderColumns(g2, rendererState, dataArea, categoryItemRenderer, categoryDataset, index, currentRowIndex); } } return true; }