/************************************************************************** /* This class is part of the Java Plotlib Toolkit. /* /* Copyright (c) 1999-2004 by Bernhard Bablok (bablokb@gmx.de) /* /* This program is free software; you can redistribute it and/or modify /* it under the terms of the GNU General Public License as published /* by the Free Software Foundation; either version 2 of the License or /* (at your option) any later version. /* /* This program 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 Library General Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; see the file COPYING. If not, write to /* the Free Software Foundation Inc., 59 Temple Place - Suite 330, /* Boston, MA 02111-1307 USA /**************************************************************************/ package de.bablokb.plotlib.core; import java.awt.geom.*; /** This class mainly defines factory methods for other classes. There are some static methods which can be used directly, mainly the getDefaultToolkit() method. @version $Revision: 1.2 $ @author $Author: bablokb $ */ public abstract class Toolkit { /** Flag to define the default toolkit. */ private static boolean iUseFloat = true; ///////////////////////////////////////////////////////////////////////////// /** Returns the default Toolkit. The default toolkit uses the float versions of the Jav2D classes. */ public static synchronized Toolkit getDefaultToolkit() { if (iUseFloat) return new FloatToolkit(); else return new DoubleToolkit(); } ///////////////////////////////////////////////////////////////////////////// /** Set the flag to define the default toolkit. */ public static synchronized void setPrecision(boolean useFloat) { iUseFloat = useFloat; } ///////////////////////////////////////////////////////////////////////////// /** Returns a Point2D. */ public abstract Point2D getPoint2D(); ///////////////////////////////////////////////////////////////////////////// /** Returns a Point2D-Array of given size. */ public abstract Point2D[] getPoint2DArray(int size); ///////////////////////////////////////////////////////////////////////////// /** Returns a Rectangle2D. */ public abstract Rectangle2D getRectangle2D(); ///////////////////////////////////////////////////////////////////////////// /** Returns a Line2D. */ public abstract Line2D getLine2D(); ///////////////////////////////////////////////////////////////////////////// /** Returns a Arc2D. */ public abstract Arc2D getArc2D(); }