1 // $Id$
2 
3 // Fish Supper
4 // Copyright 2006, 2007, 2009, 2010 Matthew Clarke <mafferyew@googlemail.com>
5 //
6 // This file is part of Fish Supper.
7 //
8 // Fish Supper is free software: you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation, either version 3 of the License, or
11 // (at your option) any later version.
12 //
13 // Fish Supper is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with Fish Supper.  If not, see <http://www.gnu.org/licenses/>.
20 
21 
22 
23 
24 #ifndef FS_gfx_h
25 #define FS_gfx_h
26 
27 #include "Gfx_engine.h"
28 
29 
30 
31 
32 namespace FS
33 {
34 
35 class FS_gfx : public Mafferyew::Gfx_engine
36 {
37 
38     public:
39 
40         FS_gfx();
41         ~FS_gfx();
42 
43         static const int NUM_SPRITES = 99;
44         enum Image_name
45         {
46             NONE = -1,
47             LOWER_LIMIT,
48             MIDDLE,
49             UPPER_LIMIT,
50             LOG_RED_1,
51             LOG_RED_2,
52             LOG_RED_3,
53             LOG_RED_4,
54             LOG_RED_5,
55             LOG_YELLOW_1,
56             LOG_YELLOW_2,
57             LOG_YELLOW_3,
58             LOG_YELLOW_4,
59             LOG_YELLOW_5,
60             LOG_BLUE_1,
61             LOG_BLUE_2,
62             LOG_BLUE_3,
63             LOG_BLUE_4,
64             LOG_BLUE_5,
65             LOG_ORANGE_1,
66             LOG_ORANGE_2,
67             LOG_ORANGE_3,
68             LOG_ORANGE_4,
69             LOG_ORANGE_5,
70             LOG_GREEN_1,
71             LOG_GREEN_2,
72             LOG_GREEN_3,
73             LOG_GREEN_4,
74             LOG_GREEN_5,
75             LOG_PURPLE_1,
76             LOG_PURPLE_2,
77             LOG_PURPLE_3,
78             LOG_PURPLE_4,
79             LOG_PURPLE_5,
80             LOG_BROWN_1,
81             LOG_BROWN_2,
82             LOG_BROWN_3,
83             LOG_BROWN_4,
84             LOG_BROWN_5,
85             CRYSTAL_RED,
86             CRYSTAL_YELLOW,
87             CRYSTAL_BLUE,
88             CRYSTAL_WHITE,
89             FISH,
90             SPRING,
91             LEAF,
92             ARROWS,
93             SNAIL,
94             LIGHTNING,
95             STAR,
96             PLATE,
97             PAUSE_MENU_CONTINUE,
98             PAUSE_MENU_QUIT,
99             JOYSTICK,
100             KEYBOARD,
101             SOUND_ON,
102             SOUND_OFF,
103             TICK,
104             MESSAGE_BOARD,
105             WALKING_0,
106             WALKING_1,
107             WALKING_2,
108             WALKING_3,
109             WALKING_4,
110             WALKING_5,
111             WALKING_6,
112             WALKING_7,
113             JUMPING_0,
114             JUMPING_1,
115             JUMPING_2,
116             JUMPING_3,
117             JUMPING_4,
118             JUMPING_5,
119             JUMPING_6,
120             JUMPING_7,
121             JUMPING_8,
122             JUMPING_9,
123             JUMPING_10,
124             JUMPING_11,
125             SPLASHING_0,
126             SPLASHING_1,
127             SPLASHING_2,
128             SPLASHING_3,
129             SPLASHING_4,
130             SPLASHING_5,
131             SPLASHING_6,
132             SPLASHING_7,
133             ZAPPING_0,
134             ZAPPING_1,
135             ZAPPING_2,
136             ZAPPING_3,
137             ZAPPING_4,
138             WALKING_E_WITH_FISH_0,
139             WALKING_E_WITH_FISH_1,
140             WALKING_E_WITH_FISH_2,
141             WALKING_E_WITH_FISH_3,
142             WALKING_E_WITH_FISH_4,
143             WALKING_E_WITH_FISH_5,
144             WALKING_E_WITH_FISH_6,
145             WALKING_E_WITH_FISH_7,
146         }; // enum Image_name
147 
148         static const int NUM_BACKGROUNDS = 5;
149         enum { GET_READY, CATS_WHISKERS, BACKGROUND, SETTINGS_BG, INTRO_SCREEN, };
150 
151         static const int NUM_FONTS = 6;
152         enum Font_name
153         {
154             SMALL_FONT,
155             SMALL_FONT_FAINT,
156             LARGE_FONT,
157             LARGE_FONT_FAINT,
158             WHITE_FONT,
159             TUTORIAL_FONT,  // DejaVu Sans Mono black 20pt
160         }; // enum Font_name
161 
162         // extra functionality
163         void clear_screen();
164 
165     protected:
166 
167         // Definition of pure virtual function inherited from
168         // Gfx_engine.
169         void init();
170 
171 }; // class FS_gfx
172 
173 } // namespace FS
174 
175 
176 
177 
178 #endif
179 
180