/* ===========================================================
* JFreeChart : a free chart library for the Java(tm) platform
* ===========================================================
*
* (C) Copyright 2000-2011, by Object Refinery Limited and Contributors.
*
* Project Info: http://www.jfree.org/jfreechart/index.html
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
* [Oracle and Java are registered trademarks of Oracle and/or its affiliates.
* Other names may be trademarks of their respective owners.]
*
* -----------------------
* DrawableLegendItem.java
* -----------------------
* (C) Copyright 2002-2008, by Object Refinery Limited and Contributors.
*
* Original Author: David Gilbert (for Object Refinery Limited);
* Contributor(s): Luke Quinane;
* Barak Naveh;
*
* Changes
* -------
* 07-Feb-2002 : Version 1 (DG);
* 23-Sep-2002 : Renamed LegendItem --> DrawableLegendItem (DG);
* 02-Oct-2002 : Fixed errors reported by Checkstyle (DG);
* 08-Oct-2003 : Applied patch for displaying series line style, contributed by
* Luke Quinane (DG);
* 27-Mar-2004 : Added getMaxX() and getMaxY() methods (BN);
* 27-Jan-2005 : Cleared out code that belongs in the LegendItem class (DG);
*
*/
package org.jfree.chart;
import java.awt.Shape;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
/**
* This class contains a single legend item along with position details for
* drawing the item on a particular chart.
*
* @deprecated This class is not used by JFreeChart.
*/
public class DrawableLegendItem {
/**
* The legend item (encapsulates information about the label, color and
* shape).
*/
private LegendItem item;
/** The x-coordinate for the item's location. */
private double x;
/** The y-coordinate for the item's location. */
private double y;
/** The width of the item. */
private double width;
/** The height of the item. */
private double height;
/** A shape used to indicate color on the legend. */
private Shape marker;
/** A line used to indicate the series stroke on the legend */
private Line2D line;
/** The label position within the item. */
private Point2D labelPosition;
/**
* Create a legend item.
*
* @param item the legend item for display.
*/
public DrawableLegendItem(LegendItem item) {
this.item = item;
}
/**
* Returns the legend item.
*
* @return The legend item.
*/
public LegendItem getItem() {
return this.item;
}
/**
* Get the x-coordinate for the item's location.
*
* @return The x-coordinate for the item's location.
*/
public double getX() {
return this.x;
}
/**
* Set the x-coordinate for the item's location.
*
* @param x the x-coordinate.
*/
public void setX(double x) {
this.x = x;
}
/**
* Get the y-coordinate for the item's location.
*
* @return The y-coordinate for the item's location.
*/
public double getY() {
return this.y;
}
/**
* Set the y-coordinate for the item's location.
*
* @param y the y-coordinate.
*/
public void setY(double y) {
this.y = y;
}
/**
* Get the width of this item.
*
* @return The width.
*/
public double getWidth() {
return this.width;
}
/**
* Get the height of this item.
*
* @return The height.
*/
public double getHeight() {
return this.height;
}
/**
* Returns the largest X coordinate of the framing rectangle of this legend
* item.
*
* @return The largest x coordinate of the framing rectangle of this legend
* item.
*/
public double getMaxX() {
return getX() + getWidth();
}
/**
* Returns the largest Y coordinate of the framing rectangle of this legend
* item.
*
* @return The largest Y coordinate of the framing rectangle of this legend
* item.
*/
public double getMaxY() {
return getY() + getHeight();
}
/**
* Get the marker.
*
* @return The shape used to indicate color on the legend for this item.
*/
public Shape getMarker() {
return this.marker;
}
/**
* Set the marker.
*
* @param marker a shape used to indicate color on the legend for this
* item.
*/
public void setMarker(Shape marker) {
this.marker = marker;
}
/**
* Sets the line used to label this series.
*
* @param l the new line to use.
*/
public void setLine(Line2D l) {
this.line = l;
}
/**
* Returns the list.
*
* @return The line.
*/
public Line2D getLine() {
return this.line;
}
/**
* Returns the label position.
*
* @return The label position.
*/
public Point2D getLabelPosition() {
return this.labelPosition;
}
/**
* Sets the label position.
*
* @param position the label position.
*/
public void setLabelPosition(Point2D position) {
this.labelPosition = position;
}
/**
* Set the bounds of this item.
*
* @param x x-coordinate for the item's location.
* @param y y-coordinate for the item's location.
* @param width the width of this item.
* @param height the height of this item.
*/
public void setBounds(double x, double y, double width, double height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
}
|