1 /**
2 * This program is free software: you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation, version 3.
5 *
6 * This program is distributed in the hope that it will be useful,
7 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 * GNU General Public License for more details.
10 *
11 * You should have received a copy of the GNU General Public License
12 * along with this program. If not, see <http://www.gnu.org/licenses/>.
13 */
14
15 package net.curre.prefcount.gui.theme.skin;
16
17 import java.awt.Color;
18 import java.awt.Font;
19 import java.awt.Paint;
20 import java.awt.Stroke;
21
22 /**
23 * This is an interface to represent a prefcount skin,
24 * which represents a Substance skin from the
25 * <code>org.jvnet.substance.skin</code> package.
26 * <p/>
27 * Created date: Jun 13, 2007
28 *
29 * @author Yevgeny Nyden
30 */
31 public interface PrefSkin {
32
33 /**
34 * Returns Substance skin class name if this theme/skin
35 * is a SubstanceLookAndFeel skin.
36 *
37 * @return Substance skin class name.
38 */
39 public String getSubstanceSkinClassName();
40
41 /**
42 * Returns the skin resource key, which
43 * also the skin's unique identifier.
44 *
45 * @return the skin resource key and it's unique ID.
46 */
47 public String getNameResourceKey();
48
49 /**
50 * Returns the main background color.
51 *
52 * @return the main background color.
53 */
54 public Color getMainBackgroundColor();
55
56 /**
57 * Returns the board background paint.
58 *
59 * @return the board background paint.
60 */
61 public Paint getBoardBackgroundPaint();
62
63 /**
64 * Returns the color for players names.
65 *
66 * @return the player names color.
67 */
68 public Color getPlayerNameColor();
69
70 /**
71 * Returns the font for players names.
72 *
73 * @return the player names font.
74 */
75 public Font getPlayerNameFont();
76
77 /**
78 * Returns the stroke for players names.
79 *
80 * @return the player names stroke.
81 */
82 public Stroke getPlayerNameStroke();
83
84 /**
85 * Returns the color for players scores.
86 *
87 * @return the color for players scores.
88 */
89 public Color getPlayerScoreColor();
90
91 /**
92 * Returns the font for players scores.
93 *
94 * @return the font for players scores.
95 */
96 public Font getPlayerScoreFont();
97
98 /**
99 * Returns the stroke for players scores.
100 *
101 * @return the stroke for players scores.
102 */
103 public Stroke getPlayerScoreStroke();
104
105 /**
106 * Returns the color for player (scores) totals.
107 *
108 * @return the color for player (scores) totals.
109 */
110 public Color getPlayerTotalsColor();
111
112 /**
113 * Returns the font for player (scores) totals.
114 *
115 * @return the font for player (scores) totals.
116 */
117 public Font getPlayerTotalsFont();
118
119 /**
120 * Returns the stroke for player (scores) totals.
121 *
122 * @return the stroke for player (scores) totals.
123 */
124 public Stroke getPlayerTotalsStroke();
125
126 /**
127 * Returns the color for the board lines.
128 *
129 * @return the color for the board lines.
130 */
131 public Color getBoardLineColor();
132
133 /**
134 * Returns the stroke for the board lines.
135 *
136 * @return the stroke for the board lines.
137 */
138 public Stroke getBoardLineStroke();
139
140 /**
141 * Returns paint for the final score background.
142 *
143 * @return Paint to heighlight final score polygon.
144 */
145 public Paint getFinalScoreBackgroundPaint();
146
147 /**
148 * Gets the main section lines paint.
149 *
150 * @return paint fro the player section division lines.
151 */
152 public Paint getMainSectionLinesPain();
153
154 }