/******************************************************************************* * Copyright (c) 2008-2009 SWTChart project. All rights reserved. * * This code is distributed under the terms of the Eclipse Public License v1.0 * which is available at http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ package org.swtchart; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Rectangle; /** * A legend for chart. */ public interface ILegend { /** * Sets legend visible. * * @param visible * the visibility state */ void setVisible ( boolean visible ); /** * Gets the visibility state. * * @return true if legend is visible */ boolean isVisible (); /** * Sets the background color of legend. * * @param color * the background color */ void setBackground ( Color color ); /** * Gets the background color of legend. * * @return background color of legend. */ Color getBackground (); /** * Sets the foreground color of legend. * * @param color * the foreground color */ void setForeground ( Color color ); /** * Gets the foreground color of legend. * * @return foreground color of legend. */ Color getForeground (); /** * Gets the font. * * @return the font */ Font getFont (); /** * Sets the font. * * @param font * the font */ void setFont ( Font font ); /** * Gets the position of legend. * * @return the position of legend. */ int getPosition (); /** * Sets the position of legend. If the position is <tt>SWT.LEFT</tt> or * <tt>SWT.RIGHT</tt>, the orientation of series on legend will be vertical. * If the position is <tt>SWT.TOP</tt> or <tt>SWT.BOTTOM</tt>, the * orientation will be horizontal. * * @param position * the position of legend that can be <tt>SWT.LEFT</tt>, * <tt>SWT.RIGHT</tt>, <tt>SWT.TOP</tt> or <tt>SWT.BOTTOM</tt>. */ void setPosition ( int position ); /** * Gets the rectangle associated with the given series id on legend. This * method is typically used for mouse listener to check whether mouse cursor * is on legend for a certain series. * <p> * Mouse listener can be added by casting <tt>ILegend</tt> to * <tt>Control</tt>. * * <pre> * Control legend = (Control) chart.getLegend(); * legend.addMouseListener(...); * </pre> * * @param seriesId * the series id * @return the rectangle associated with the given series id in pixels. */ Rectangle getBounds ( String seriesId ); }