Frames | No Frames |
1: /* =========================================================== 2: * JFreeChart : a free chart library for the Java(tm) platform 3: * =========================================================== 4: * 5: * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors. 6: * 7: * Project Info: http://www.jfree.org/jfreechart/index.html 8: * 9: * This library is free software; you can redistribute it and/or modify it 10: * under the terms of the GNU Lesser General Public License as published by 11: * the Free Software Foundation; either version 2.1 of the License, or 12: * (at your option) any later version. 13: * 14: * This library is distributed in the hope that it will be useful, but 15: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 16: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 17: * License for more details. 18: * 19: * You should have received a copy of the GNU Lesser General Public 20: * License along with this library; if not, write to the Free Software 21: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 22: * USA. 23: * 24: * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 25: * in the United States and other countries.] 26: * 27: * ----------------------- 28: * DrawableLegendItem.java 29: * ----------------------- 30: * (C) Copyright 2002-2007, by Object Refinery Limited and Contributors. 31: * 32: * Original Author: David Gilbert (for Object Refinery Limited); 33: * Contributor(s): Luke Quinane; 34: * Barak Naveh; 35: * 36: * Changes 37: * ------- 38: * 07-Feb-2002 : Version 1 (DG); 39: * 23-Sep-2002 : Renamed LegendItem --> DrawableLegendItem (DG); 40: * 02-Oct-2002 : Fixed errors reported by Checkstyle (DG); 41: * 08-Oct-2003 : Applied patch for displaying series line style, contributed by 42: * Luke Quinane (DG); 43: * 27-Mar-2004 : Added getMaxX() and getMaxY() methods (BN); 44: * 27-Jan-2005 : Cleared out code that belongs in the LegendItem class (DG); 45: * 46: */ 47: 48: package org.jfree.chart; 49: 50: import java.awt.Shape; 51: import java.awt.geom.Line2D; 52: import java.awt.geom.Point2D; 53: 54: /** 55: * This class contains a single legend item along with position details for 56: * drawing the item on a particular chart. 57: * 58: * @deprecated This class is not used by JFreeChart. 59: */ 60: public class DrawableLegendItem { 61: 62: /** 63: * The legend item (encapsulates information about the label, color and 64: * shape). 65: */ 66: private LegendItem item; 67: 68: /** The x-coordinate for the item's location. */ 69: private double x; 70: 71: /** The y-coordinate for the item's location. */ 72: private double y; 73: 74: /** The width of the item. */ 75: private double width; 76: 77: /** The height of the item. */ 78: private double height; 79: 80: /** A shape used to indicate color on the legend. */ 81: private Shape marker; 82: 83: /** A line used to indicate the series stroke on the legend */ 84: private Line2D line; 85: 86: /** The label position within the item. */ 87: private Point2D labelPosition; 88: 89: /** 90: * Create a legend item. 91: * 92: * @param item the legend item for display. 93: */ 94: public DrawableLegendItem(LegendItem item) { 95: this.item = item; 96: } 97: 98: /** 99: * Returns the legend item. 100: * 101: * @return The legend item. 102: */ 103: public LegendItem getItem() { 104: return this.item; 105: } 106: 107: /** 108: * Get the x-coordinate for the item's location. 109: * 110: * @return The x-coordinate for the item's location. 111: */ 112: public double getX() { 113: return this.x; 114: } 115: 116: /** 117: * Set the x-coordinate for the item's location. 118: * 119: * @param x the x-coordinate. 120: */ 121: public void setX(double x) { 122: this.x = x; 123: } 124: 125: /** 126: * Get the y-coordinate for the item's location. 127: * 128: * @return The y-coordinate for the item's location. 129: */ 130: public double getY() { 131: return this.y; 132: } 133: 134: /** 135: * Set the y-coordinate for the item's location. 136: * 137: * @param y the y-coordinate. 138: */ 139: public void setY(double y) { 140: this.y = y; 141: } 142: 143: /** 144: * Get the width of this item. 145: * 146: * @return The width. 147: */ 148: public double getWidth() { 149: return this.width; 150: } 151: 152: /** 153: * Get the height of this item. 154: * 155: * @return The height. 156: */ 157: public double getHeight() { 158: return this.height; 159: } 160: 161: /** 162: * Returns the largest X coordinate of the framing rectangle of this legend 163: * item. 164: * 165: * @return The largest x coordinate of the framing rectangle of this legend 166: * item. 167: */ 168: public double getMaxX() { 169: return getX() + getWidth(); 170: } 171: 172: /** 173: * Returns the largest Y coordinate of the framing rectangle of this legend 174: * item. 175: * 176: * @return The largest Y coordinate of the framing rectangle of this legend 177: * item. 178: */ 179: public double getMaxY() { 180: return getY() + getHeight(); 181: } 182: 183: /** 184: * Get the marker. 185: * 186: * @return The shape used to indicate color on the legend for this item. 187: */ 188: public Shape getMarker() { 189: return this.marker; 190: } 191: 192: /** 193: * Set the marker. 194: * 195: * @param marker a shape used to indicate color on the legend for this 196: * item. 197: */ 198: public void setMarker(Shape marker) { 199: this.marker = marker; 200: } 201: 202: /** 203: * Sets the line used to label this series. 204: * 205: * @param l the new line to use. 206: */ 207: public void setLine(Line2D l) { 208: this.line = l; 209: } 210: 211: /** 212: * Returns the list. 213: * 214: * @return The line. 215: */ 216: public Line2D getLine() { 217: return this.line; 218: } 219: 220: /** 221: * Returns the label position. 222: * 223: * @return The label position. 224: */ 225: public Point2D getLabelPosition() { 226: return this.labelPosition; 227: } 228: 229: /** 230: * Sets the label position. 231: * 232: * @param position the label position. 233: */ 234: public void setLabelPosition(Point2D position) { 235: this.labelPosition = position; 236: } 237: 238: /** 239: * Set the bounds of this item. 240: * 241: * @param x x-coordinate for the item's location. 242: * @param y y-coordinate for the item's location. 243: * @param width the width of this item. 244: * @param height the height of this item. 245: */ 246: public void setBounds(double x, double y, double width, double height) { 247: this.x = x; 248: this.y = y; 249: this.width = width; 250: this.height = height; 251: } 252: 253: }