View Javadoc

1   // START LICENSE
2   // JSet - a Java JSet card board game implementation
3   // Copyright (C) 2004 Jerome Lacoste
4   //
5   // This program is free software; you can redistribute it and/or modify
6   // it under the terms of the GNU General Public License as published by
7   // the Free Software Foundation; either version 2 of the License, or (at
8   // your option) any later version.
9   //
10  // This program is distributed in the hope that it will be useful, but
11  // WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  // General Public License for more details.
14  //
15  // You should have received a copy of the GNU General Public License
16  // along with this program; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18  // END LICENSE
19  
20  package org.cb.cardboard;
21  
22  import java.awt.Component;
23  
24  /***
25   * Interface to a renderer of a card of a board.
26   *
27   * @author jerome@coffeebreaks.org - last modified by $LastModifiedBy$
28   * @version $Id: BoardCardRenderer.java 78 2004-04-13 04:25:57Z jerome $
29   */
30  public interface BoardCardRenderer
31  {
32    /***
33     * Return a component that has been configured to display the specified
34     * value. That component's <code>paint</code> method is then called to
35     * "render" the card.  If it is necessary to compute the dimensions
36     * of a board because the board cards do not have a fixed size, this method
37     * is called to generate a component on which <code>getPreferredSize</code>
38     * can be invoked.
39     *
40     * @param cardBoard The JCardBoard we're painting.
41     * @param value The value returned by list.getModel().getElementAt(index).
42     * @param index The cells index.
43     * @param isSelected True if the specified cell was selected.
44     * @param cardHasFocus True if the specified cell has the focus.
45     * @return A component whose paint() method will render the specified value.
46     *
47     * @see org.cb.cardboard.JCardBoard
48     * @see org.cb.cardboard.BoardSelectionModel
49     * @see org.cb.cardboard.CardBoardModel
50     */
51    Component getBoardCardRendererComponent(
52        JCardBoard cardBoard,
53        Card value,
54        int index,
55        boolean isSelected,
56        boolean cardHasFocus);
57  
58  }