    001/* ===========================================================
    002 * JFreeChart : a free chart library for the Java(tm) platform
    003 * ===========================================================
    004 *
    005 * (C) Copyright 2000-2011, by Object Refinery Limited and Contributors.
    006 *
    007 * Project Info:  http://www.jfree.org/jfreechart/index.html
    008 *
    009 * This library is free software; you can redistribute it and/or modify it
    010 * under the terms of the GNU Lesser General Public License as published by
    011 * the Free Software Foundation; either version 2.1 of the License, or
    012 * (at your option) any later version.
    013 *
    014 * This library is distributed in the hope that it will be useful, but
    015 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    016 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
    017 * License for more details.
    018 *
    019 * You should have received a copy of the GNU Lesser General Public
    020 * License along with this library; if not, write to the Free Software
    021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
    022 * USA.
    023 *
    024 * [Oracle and Java are registered trademarks of Oracle and/or its affiliates.
    025 * Other names may be trademarks of their respective owners.]
    026 *
    027 * -----------------------
    028 * CategoryAnnotation.java
    029 * -----------------------
    030 * (C) Copyright 2003-2009, by Object Refinery Limited.
    031 *
    032 * Original Author:  David Gilbert (for Object Refinery Limited);
    033 * Contributor(s):   -;
    034 *
    035 * Changes:
    036 * --------
    037 * 02-Apr-2003 : Version 1 (DG);
    038 * 02-Jul-2003 : Eliminated Annotation base interface (DG);
    039 * 24-Jun-2009 : Now extends Annotation (see patch 2809117 by PK) (DG);
    040 *
    041 */
    042
    043package org.jfree.chart.annotations;
    044
    045import java.awt.Graphics2D;
    046import java.awt.geom.Rectangle2D;
    047
    048import org.jfree.chart.axis.CategoryAxis;
    049import org.jfree.chart.axis.ValueAxis;
    050import org.jfree.chart.plot.CategoryPlot;
    051
    052/**
    053 * The interface that must be supported by annotations that are to be added to
    054 * a {@link CategoryPlot}.
    055 */
    056public interface CategoryAnnotation extends Annotation {
    057
    058    /**
    059     * Draws the annotation.
    060     *
    061     * @param g2  the graphics device.
    062     * @param plot  the plot.
    063     * @param dataArea  the data area.
    064     * @param domainAxis  the domain axis.
    065     * @param rangeAxis  the range axis.
    066     */
    067    public void draw(Graphics2D g2, CategoryPlot plot, Rectangle2D dataArea,
    068                     CategoryAxis domainAxis, ValueAxis rangeAxis);
    069
    070}