01: /***********************************************************************************************
02: * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
03: *
04: * Redistribution and use of this software and associated documentation ("Software"), with or
05: * without modification, are permitted provided that the following conditions are met:
06: *
07: * 1. Redistributions of source code must retain copyright statements and notices.
08: * Redistributions must also contain a copy of this document.
09: *
10: * 2. Redistributions in binary form must reproduce the above copyright notice, this list of
11: * conditions and the following disclaimer in the documentation and/or other materials
12: * provided with the distribution.
13: *
14: * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
15: * products derived from this Software without prior written permission of Nathaniel G.
16: * Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
17: *
18: * 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
19: * in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
20: * registered trademark of Nathaniel G. Auvil.
21: *
22: * 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
23: *
24: * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
25: * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
31: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
32: * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
33: ************************************************************************************************/package org.krysalis.jcharts.properties.util;
34:
35: import java.awt.*;
36: import java.io.Serializable;
37:
38: /************************************************************************************
39: *
40: * @author nauvil
41: * @version $Id: ChartItem.java,v 1.5 2004/05/31 13:09:52 nathaniel_auvil Exp $
42: ************************************************************************************/
43: public abstract class ChartItem implements Serializable {
44: private static final Paint DEFAULT_PAINT = Color.black;
45:
46: private Paint paint;
47:
48: public ChartItem() {
49: this .paint = DEFAULT_PAINT;
50: }
51:
52: public ChartItem(Paint paint) {
53: this .paint = paint;
54: }
55:
56: /***********************************
57: *
58: * @return paint
59: * TODO if this method is going to exist, it would have to return a clone of the Paint to keep
60: * people from modifying contents.
61: *****************************************/
62: public Paint getPaint() {
63: return paint;
64: }
65:
66: /**********************************************************************************
67: * Sets the Paint and Stroke implementations on the Graphics2D Object
68: *
69: * @param graphics2D
70: **********************************************************************************/
71: public void setupGraphics2D(Graphics2D graphics2D) {
72: graphics2D.setPaint(this.getPaint());
73: }
74: }
|