1 /**
2  * The chess framework library.
3  * More information is available at http://www.jinchess.com/.
4  * Copyright (C) 2002 Alexander Maryanovsky.
5  * All rights reserved.
6  *
7  * The chess framework library is free software; you can redistribute
8  * it and/or modify it under the terms of the GNU Lesser General Public License
9  * as published by the Free Software Foundation; either version 2 of the
10  * License, or (at your option) any later version.
11  *
12  * The chess framework library is distributed in the hope that it will
13  * be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with the chess framework library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  */
21 
22 package free.chess;
23 
24 import java.awt.Graphics;
25 import java.awt.Component;
26 
27 
28 /**
29  * An interface for classes who paint the board "background" on JBoard.
30  */
31 
32 public interface BoardPainter{
33 
34 
35 
36   /**
37    * Paints the board at the given location on the given Graphics scaled to
38    * the given size. The <code>component</code> argument may be null.
39    */
40 
paintBoard(Graphics g, Component component, int x, int y, int width, int height)41   void paintBoard(Graphics g, Component component, int x, int y, int width, int height);
42 
43 
44 
45   /**
46    * Returns a new <code>BoardPainter</code> of the same class as this one.
47    * Implementations which are immutable may return this instance itself instead
48    * of an actual copy.
49    */
50 
freshInstance()51   BoardPainter freshInstance();
52 
53 
54 
55 }
56