/* * IPointPainterConfigurableUI.java of project jchart2d, adds configuration of * UI like strokes and color to IPointPainter. * Copyright (C) 2002 - 2011, Achim Westermann, created on Jun 11, 2011 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * If you modify or optimize the code in a useful way please let me know. * Achim.Westermann@gmx.de * * * File : $Source: /cvsroot/jchart2d/jchart2d/src/info/monitorenter/gui/chart/IPointPainterConfigurableUI.java,v $ * Date : $Date: 2011/01/14 08:36:10 $ * Version: $Revision: 1.4 $ */ package info.monitorenter.gui.chart; import java.awt.Color; import java.awt.Graphics; import java.awt.Stroke; /** * Adds configuration of UI like strokes and color to IPointPainter. * <p> * * @param <T> * needed for generics <code>{@link #compareTo(Object)}</code>. * * @author <a href="mailto:Achim.Westermann@gmx.de">Achim Westermann </a> * */ public interface IPointPainterConfigurableUI<T extends IPointPainter<T>> extends IPointPainter<T> { /** * Returns the color to paint with or * <code>null</null> if no special color is desired. * <p> * * @return the color to paint with <code>null</null> if no special color is * desired. */ public Color getColor(); /** * Returns the color to paint fillings with or * <code>null</null> if no special color is desired. * <p> * * @return the color to paint fillings with <code>null</null> if no special * color is desired. */ public Color getColorFill(); /** * Returns the stroke to paint with. * <p> * * @return the stroke to paint with. */ public Stroke getStroke(); /** * Returns the transparency to use for painting. * <p> * This value will be computed from the color used. If that color is not * configured (null) a value of 0.0 is returned even if the color from the * <code>{@link Graphics}</code> used for painting has a different setting! * <p> * * * @return the transparency used between 0 and 255. */ public int getTransparency(); /** * Returns the transparency to use for fill painting. * <p> * This value will be computed from the color used. If that color is not * configured (null) a value of 0.0 is returned even if the color from the * <code>{@link Graphics}</code> used for painting has a different setting! * <p> * * @return the fill transparency used between 0 and 255. */ public int getTransparencyFill(); /** * Sets the color to paint with or <code>null</code> if no special color is * desired. * <p> * In the latter case the color of the <code>{@link Graphics}</code> provided * for paint operations will be used. * <p> * * @param color * the color to paint with or <code>null</code> if no special color * is desired. * * @return the previous color to paint with * <code>null</null> if no special color is * desired. */ public Color setColor(final Color color); /** * Sets the color to paint fillings with or <code>null</code> if no special * fill color is desired. * <p> * In the latter case the color of the <code>{@link Graphics}</code> provided * for paint fill operations will be used. * <p> * * @param fillColor * the color to paint fillings with or <code>null</code> if no * special color is desired. * * @return the previous color to paint fillings with * <code>null</null> if no special color is * desired. */ public Color setColorFill(final Color fillColor); /** * Sets the stroke to paint with or <code>null</code> if no special color is * desired. * <p> * In the latter case the stroke of the <code>{@link Graphics}</code> provided * for paint operations will be used. * <p> * * @param stroke * the stroke to paint with. * * @return the previous color being used or <code>null</code> if none was used * before. */ public Stroke setStroke(final Stroke stroke); /** * Sets the transparency to use for painting. * <p> * This value will be fold into color. If color has not been configured before * it will not have any effect. * <p> * Caution: When using a value greater 0 may cost a multiple cpu load! * <p> * * @param transparency0to255 * a transparency value between 0 and 255. * * @return the previous transparency used. */ public int setTransparency(final int transparency0to255); /** * Sets the transparency to use for fill painting. * <p> * This value will be fold into fill color. If fill color has not been * configured before it will not have any effect. * <p> * <p> * Caution: When using a value greater 0 may cost a multiple cpu load! * <p> * * @param transparency0to255 * a transparency value between 0 and 255. * * @return the previous fill transparency used. */ public int setTransparencyFill(final int transparency0to255); }