001: /***********************************************************************************************
002: * Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
003: *
004: * Redistribution and use of this software and associated documentation ("Software"), with or
005: * without modification, are permitted provided that the following conditions are met:
006: *
007: * 1. Redistributions of source code must retain copyright statements and notices.
008: * Redistributions must also contain a copy of this document.
009: *
010: * 2. Redistributions in binary form must reproduce the above copyright notice, this list of
011: * conditions and the following disclaimer in the documentation and/or other materials
012: * provided with the distribution.
013: *
014: * 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
015: * products derived from this Software without prior written permission of Nathaniel G.
016: * Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
017: *
018: * 4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
019: * in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
020: * registered trademark of Nathaniel G. Auvil.
021: *
022: * 5. Due credit should be given to the jCharts Project (http://jcharts.sourceforge.net/).
023: *
024: * THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
025: * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
026: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
027: * jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
028: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
029: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
030: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
031: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
032: * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
033: ************************************************************************************************/package org.krysalis.jcharts.properties.util;
034:
035: import java.awt.*;
036: import java.awt.geom.AffineTransform;
037:
038: /*************************************************************************************
039: *
040: * @author Nathaniel Auvil
041: * @version $Id: ChartFont.java,v 1.4 2004/05/31 16:25:22 nathaniel_auvil Exp $
042: ************************************************************************************/
043: public class ChartFont extends ChartItem {
044: public static final ChartFont DEFAULT_AXIS_TITLE = new ChartFont(
045: new Font("Serif", Font.BOLD, 12), Color.black);
046: public static final ChartFont DEFAULT_AXIS_VALUE = new ChartFont(
047: new Font("Serif", Font.PLAIN, 12), Color.black);
048: public static final ChartFont DEFAULT_AXIS_SCALE = new ChartFont(
049: new Font("TimesRoman", Font.PLAIN, 12), Color.black);
050:
051: public static final ChartFont DEFAULT_LEGEND = new ChartFont(
052: new Font("Serif", Font.PLAIN, 12), Color.black);
053:
054: public static final ChartFont DEFAULT_PIE_VALUE = new ChartFont(
055: new Font("Serif", Font.PLAIN, 10), Color.black);
056:
057: public static final ChartFont DEFAULT_CHART_TITLE = new ChartFont(
058: new Font("Serif", Font.BOLD, 12), Color.black);
059:
060: public static final AffineTransform VERTICAL_ROTATION = AffineTransform
061: .getRotateInstance(-Math.PI / 2);
062:
063: private Font font;
064: //private boolean isAntiAliased= true;
065: private AffineTransform affineTransform;
066:
067: /************************************************************************************
068: *
069: * @param font
070: * @param paint
071: ************************************************************************************/
072: public ChartFont(Font font, Paint paint) {
073: super (paint);
074: this .font = font;
075: }
076:
077: /**********************************************************************************
078: * Sets the Paint and Stroke implementations on the Graphics2D Object
079: *
080: * @param graphics2D
081: **********************************************************************************/
082: public void setupGraphics2D(Graphics2D graphics2D) {
083: super .setupGraphics2D(graphics2D);
084: graphics2D.setFont(this .font);
085: }
086:
087: /**************************************************************************************
088: *
089: * @return font
090: * TODO this allows you to modify the Font
091: **************************************************************************************/
092: public Font getFont() {
093: return this .font;
094: }
095:
096: /**************************************************************************************
097: *
098: // * @return boolean
099: **************************************************************************************
100: public boolean isAntiAliased()
101: {
102: return isAntiAliased;
103: }
104:
105:
106: /**************************************************************************************
107: *
108: * @return Font
109: **************************************************************************************/
110: public Font deriveFont() {
111: this.affineTransform = VERTICAL_ROTATION;
112: return this.font.deriveFont(this.affineTransform);
113: }
114:
115: }
|