- legendLines.size() * gBuffer.getFontMetrics().getHeight()
- BORDER);
for (int i = 0; i < chartModel.getSeriesCount(); i++) {
ISeries s = chartModel.getSeries(i);
IPlot plot = hidden.contains(s) ? NULL_PLOT : getPlotForSeries(s);
Point p =
coordinateSystem.getPlotOrigin((Graphics2D) gBuffer, BORDER,
BORDER, getWidth() - TWOBORDERS, getHeight() - TWOBORDERS
- legendLines.size()
* gBuffer.getFontMetrics().getHeight() - BORDER);
Dimension d =
coordinateSystem.getPlotDimension((Graphics2D) gBuffer, BORDER,
BORDER, getWidth() - TWOBORDERS, getHeight() - TWOBORDERS
- legendLines.size()
* gBuffer.getFontMetrics().getHeight() - BORDER);
plot.drawPlot(this, chartModel.getSeries(i), (Graphics2D) gBuffer,
(int) p.getX(), (int) p.getY(), d.width, d.height);
}
if (showLegend) {
// draw legend TODO sr137: make this more abstract aka
// IAdditional
width = legendLines.get(0);
int x = (getWidth() - width) / 2;
int y =
getHeight() - 7 - (legendLines.size() - 1)
* gBuffer.getFontMetrics().getHeight();
gBuffer.setColor(Color.white);
gBuffer.fillRect((getWidth() - maxWidth) / 2 - BORDER, y
- gBuffer.getFontMetrics().getHeight(), maxWidth + TWOBORDERS,
gBuffer.getFontMetrics().getHeight() * legendLines.size()
+ BORDER);
gBuffer.setColor(Color.darkGray);
gBuffer.drawRect((getWidth() - maxWidth) / 2 - BORDER, y
- gBuffer.getFontMetrics().getHeight(), maxWidth + TWOBORDERS,
gBuffer.getFontMetrics().getHeight() * legendLines.size()
+ BORDER);
for (int i = 0; i < chartModel.getSeriesCount(); i++) {
IPlot plot = getPlotForSeries(chartModel.getSeries(i));
String name = chartModel.getSeriesName(chartModel.getSeries(i));
plot.drawPlotInLegend((Graphics2D) gBuffer, x, y
- gBuffer.getFontMetrics().getAscent(), TWOBORDERS, gBuffer
.getFontMetrics().getAscent());
gBuffer.setColor(Color.darkGray);
gBuffer.drawString(name, x + 12, y);