001 /*
002 // $Id: TextBox.java 3 2009-05-11 08:11:57Z jhyde $
003 // Clapham generates railroad diagrams to represent computer language grammars.
004 // Copyright (C) 2008-2009 Julian Hyde
005 // Copyright (c) 2005 Stefan Schoergenhumer, Markus Dopler
006 //
007 // This program is free software; you can redistribute it and/or modify it
008 // under the terms of the GNU General Public License as published by the Free
009 // Software Foundation; either version 2 of the License, or (at your option)
010 // any later version approved by The Eigenbase Project.
011 //
012 // This program is distributed in the hope that it will be useful,
013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
015 // GNU General Public License for more details.
016 //
017 // You should have received a copy of the GNU General Public License
018 // along with this program; if not, write to the Free Software
019 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020 */
021 package net.hydromatic.clapham.graph;
022
023 import java.awt.*;
024
025 /**
026 * TODO:
027 *
028 * @author jhyde
029 * @version $Id: TextBox.java 3 2009-05-11 08:11:57Z jhyde $
030 * @since Sep 1, 2008
031 */
032 public class TextBox {
033 private final Chart chart;
034 private final String text;
035 private final Font font;
036 private final Color color;
037 final int width;
038 final int height;
039
040 TextBox(Chart chart, String text, Font font, Color color) {
041 this.chart = chart;
042 this.text = text;
043 this.font = font;
044 this.color = color;
045 this.width = chart.getStringWidth(font, text);
046 this.height = chart.getFontHeight();
047
048 }
049
050 void drawAtCenter(float x1, float y1, float width, float height) {
051 float x = x1 + width / 2f;
052 x -= this.width / 2f;
053 float y = y1 + height / 2f;
054 y += this.height / 2f;
055 chart.drawString(text, font, color, x, y);
056 }
057 }
058
059 // End TextBox.java