1 |
/* |
2 |
* AcornGUI.h - Defines variables for the WIMP interface |
3 |
* |
4 |
* (C) 1997 Andreas Dehmel |
5 |
* |
6 |
* Frodo (C) 1994-1997,2002-2003 Christian Bauer |
7 |
* |
8 |
* This program 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 2 of the License, or |
11 |
* (at your option) any later version. |
12 |
* |
13 |
* This program 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 this program; if not, write to the Free Software |
20 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 |
*/ |
22 |
|
23 |
|
24 |
|
25 |
#ifndef _ACORN_GUI_H_ |
26 |
#define _ACORN_GUI_H_ |
27 |
|
28 |
|
29 |
// Determine which paths to load from |
30 |
#ifdef FRODO_SC |
31 |
# define DEFAULT_PREFS "FrodoSC:Prefs" |
32 |
# define DEFAULT_SYSCONF "FrodoSC:SysConf" |
33 |
#else |
34 |
# ifdef FRODO_PC |
35 |
# define DEFAULT_PREFS "FrodoPC:Prefs" |
36 |
# define DEFAULT_SYSCONF "FrodoPC:SysConf" |
37 |
# else |
38 |
# define DEFAULT_PREFS "Frodo:Prefs" |
39 |
# define DEFAULT_SYSCONF "Frodo:SysConf" |
40 |
# endif |
41 |
#endif |
42 |
|
43 |
|
44 |
// Text written in pane icons: |
45 |
#define PANE_TEXT_PAUSE "Pause" |
46 |
#define PANE_TEXT_RESUME "Cont" |
47 |
#define PANE_TEXT_ZOOM1 "1 x" |
48 |
#define PANE_TEXT_ZOOM2 "2 x" |
49 |
|
50 |
|
51 |
// OS units of extra space between EmuWindow and Pane |
52 |
#define EmuPaneSpace 2 |
53 |
// OS units of the (volume) well's border |
54 |
#define WellBorder 12 |
55 |
// Height of title bar in OS units |
56 |
#define TitleBarHeight 44 |
57 |
// Maximum volume of the Sound system |
58 |
#define MaximumVolume 127 |
59 |
|
60 |
|
61 |
|
62 |
|
63 |
// Message Block indices |
64 |
#define MsgB_Size 0 |
65 |
#define MsgB_Sender 1 |
66 |
#define MsgB_MyRef 2 |
67 |
#define MsgB_YourRef 3 |
68 |
#define MsgB_Action 4 |
69 |
|
70 |
|
71 |
// Messages |
72 |
#define Message_Quit 0x00000 |
73 |
#define Message_DataSave 0x00001 |
74 |
#define Message_DataSaveAck 0x00002 |
75 |
#define Message_DataLoad 0x00003 |
76 |
#define Message_DataLoadAck 0x00004 |
77 |
#define Message_DataOpen 0x00005 |
78 |
#define Message_RAMFetch 0x00006 |
79 |
#define Message_RAMTransmit 0x00007 |
80 |
#define Message_PreQuit 0x00008 |
81 |
#define Message_PaletteChange 0x00009 |
82 |
#define Message_MenuWarning 0x400c0 |
83 |
#define Message_ModeChange 0x400c1 |
84 |
|
85 |
|
86 |
// Redraw Window Block |
87 |
#define RedrawB_Handle 0 |
88 |
#define RedrawB_VMinX 1 |
89 |
#define RedrawB_VMinY 2 |
90 |
#define RedrawB_VMaxX 3 |
91 |
#define RedrawB_VMaxY 4 |
92 |
#define RedrawB_ScrollX 5 |
93 |
#define RedrawB_ScrollY 6 |
94 |
#define RedrawB_CMinX 7 |
95 |
#define RedrawB_CMinY 8 |
96 |
#define RedrawB_CMaxX 9 |
97 |
#define RedrawB_CMaxY 10 |
98 |
|
99 |
|
100 |
// Window block (e.g. open, getstate.... For create: subtract -1 (no handle)) |
101 |
#define WindowB_Handle 0 |
102 |
#define WindowB_VMinX 1 |
103 |
#define WindowB_VMinY 2 |
104 |
#define WindowB_VMaxX 3 |
105 |
#define WindowB_VMaxY 4 |
106 |
#define WindowB_ScrollX 5 |
107 |
#define WindowB_ScrollY 6 |
108 |
#define WindowB_Stackpos 7 |
109 |
#define WindowB_WFlags 8 |
110 |
#define WindowB_Colours1 9 |
111 |
#define WindowB_Colours2 10 |
112 |
#define WindowB_WMinX 11 |
113 |
#define WindowB_WMinY 12 |
114 |
#define WindowB_WMaxX 13 |
115 |
#define WindowB_WMaxY 14 |
116 |
#define WindowB_TFlags 15 |
117 |
#define WindowB_WAFlags 16 |
118 |
#define WindowB_SpriteArea 17 |
119 |
#define WindowB_MinDims 18 |
120 |
#define WindowB_Data 19 |
121 |
#define WindowB_Icons 22 |
122 |
|
123 |
|
124 |
// Raw icon block |
125 |
#define RawIB_MinX 0 |
126 |
#define RawIB_MinY 1 |
127 |
#define RawIB_MaxX 2 |
128 |
#define RawIB_MaxY 3 |
129 |
#define RawIB_Flags 4 |
130 |
#define RawIB_Data0 5 |
131 |
#define RawIB_Data1 6 |
132 |
#define RawIB_Data2 7 |
133 |
|
134 |
|
135 |
// Icon block (as in GetIconState) |
136 |
#define IconB_Handle 0 |
137 |
#define IconB_Number 1 |
138 |
#define IconB_MinX 2 |
139 |
#define IconB_MinY 3 |
140 |
#define IconB_MaxX 4 |
141 |
#define IconB_MaxY 5 |
142 |
#define IconB_Flags 6 |
143 |
#define IconB_Data0 7 |
144 |
#define IconB_Data1 8 |
145 |
#define IconB_Data2 9 |
146 |
|
147 |
|
148 |
// Mouse click block (also: get pointer info): |
149 |
#define MouseB_PosX 0 |
150 |
#define MouseB_PosY 1 |
151 |
#define MouseB_Buttons 2 |
152 |
#define MouseB_Window 3 |
153 |
#define MouseB_Icon 4 |
154 |
|
155 |
|
156 |
// Key pressed block |
157 |
#define KeyPB_Window 0 |
158 |
#define KeyPB_Icon 1 |
159 |
#define KeyPB_PosX 2 |
160 |
#define KeyPB_PosY 3 |
161 |
#define KeyPB_CHeight 4 |
162 |
#define KeyPB_Index 5 |
163 |
#define KeyPB_Key 6 |
164 |
|
165 |
|
166 |
// Drag Block |
167 |
#define DragB_Handle 0 |
168 |
#define DragB_Type 1 |
169 |
#define DragB_IMinX 2 |
170 |
#define DragB_IMinY 3 |
171 |
#define DragB_IMaxX 4 |
172 |
#define DragB_IMaxY 5 |
173 |
#define DragB_BBMinX 6 |
174 |
#define DragB_BBMinY 7 |
175 |
#define DragB_BBMaxX 8 |
176 |
#define DragB_BBMaxY 9 |
177 |
#define DragB_R12 10 |
178 |
#define DragB_DrawCode 11 |
179 |
#define DragB_RemoveCode 12 |
180 |
#define DragB_MoveCode 13 |
181 |
|
182 |
|
183 |
// Drag A Sprite Block |
184 |
#define DASB_MinX 0 |
185 |
#define DASB_MinY 1 |
186 |
#define DASB_MaxX 2 |
187 |
#define DASB_MaxY 3 |
188 |
|
189 |
|
190 |
|
191 |
|
192 |
|
193 |
// Menu definitions |
194 |
#define Menu_IBar 1 |
195 |
#define Menu_Emulator 2 |
196 |
|
197 |
#define Menu_Height 44 |
198 |
#define Menu_Flags 0x07003011 |
199 |
|
200 |
#define Menu_IBar_Items 5 |
201 |
#define Menu_IBar_Width 256 |
202 |
#define Menu_IBar_Info 0 |
203 |
#define Menu_IBar_Prefs 1 |
204 |
#define Menu_IBar_Config 2 |
205 |
#define Menu_IBar_Sound 3 |
206 |
#define Menu_IBar_Quit 4 |
207 |
|
208 |
#define Menu_EWind_Items 4 |
209 |
#define Menu_EWind_Width 200 |
210 |
#define Menu_EWind_Info 0 |
211 |
#define Menu_EWind_Sound 1 |
212 |
#define Menu_EWind_SaveRAM 2 |
213 |
#define Menu_EWind_Snapshot 3 |
214 |
|
215 |
|
216 |
|
217 |
|
218 |
|
219 |
// Icons used in window definitions: |
220 |
#define Icon_Pane_LED0 1 |
221 |
#define Icon_Pane_LED1 3 |
222 |
#define Icon_Pane_LED2 5 |
223 |
#define Icon_Pane_LED3 7 |
224 |
#define Icon_Pane_Drive0 0 |
225 |
#define Icon_Pane_Drive1 2 |
226 |
#define Icon_Pane_Drive2 4 |
227 |
#define Icon_Pane_Drive3 6 |
228 |
#define Icon_Pane_Reset 8 |
229 |
#define Icon_Pane_Pause 9 |
230 |
#define Icon_Pane_Speed 10 |
231 |
#define Icon_Pane_Toggle 11 |
232 |
|
233 |
#define Icon_Prefs_Dr8DIR 6 |
234 |
#define Icon_Prefs_Dr8D64 7 |
235 |
#define Icon_Prefs_Dr8T64 8 |
236 |
#define Icon_Prefs_Dr8Path 9 |
237 |
#define Icon_Prefs_Dr9DIR 11 |
238 |
#define Icon_Prefs_Dr9D64 12 |
239 |
#define Icon_Prefs_Dr9T64 13 |
240 |
#define Icon_Prefs_Dr9Path 14 |
241 |
#define Icon_Prefs_Dr10DIR 16 |
242 |
#define Icon_Prefs_Dr10D64 17 |
243 |
#define Icon_Prefs_Dr10T64 18 |
244 |
#define Icon_Prefs_Dr10Path 19 |
245 |
#define Icon_Prefs_Dr11DIR 21 |
246 |
#define Icon_Prefs_Dr11D64 22 |
247 |
#define Icon_Prefs_Dr11T64 23 |
248 |
#define Icon_Prefs_Dr11Path 24 |
249 |
#define Icon_Prefs_Emul1541 25 |
250 |
#define Icon_Prefs_MapSlash 26 |
251 |
#define Icon_Prefs_SIDNone 29 |
252 |
#define Icon_Prefs_SIDDigi 30 |
253 |
#define Icon_Prefs_SIDCard 31 |
254 |
#define Icon_Prefs_SIDFilter 32 |
255 |
#define Icon_Prefs_REUNone 35 |
256 |
#define Icon_Prefs_REU128 36 |
257 |
#define Icon_Prefs_REU256 37 |
258 |
#define Icon_Prefs_REU512 38 |
259 |
#define Icon_Prefs_SkipFLeft 41 |
260 |
#define Icon_Prefs_SkipFRight 42 |
261 |
#define Icon_Prefs_SkipFText 43 |
262 |
#define Icon_Prefs_SprOn 47 |
263 |
#define Icon_Prefs_SprColl 48 |
264 |
#define Icon_Prefs_Joy1On 50 |
265 |
#define Icon_Prefs_Joy2On 51 |
266 |
#define Icon_Prefs_JoySwap 52 |
267 |
#define Icon_Prefs_LimSpeed 55 |
268 |
#define Icon_Prefs_FastReset 56 |
269 |
#define Icon_Prefs_CIAHack 57 |
270 |
#define Icon_Prefs_CycleNorm 64 |
271 |
#define Icon_Prefs_CycleBad 65 |
272 |
#define Icon_Prefs_CycleCIA 66 |
273 |
#define Icon_Prefs_CycleFloppy 67 |
274 |
#define Icon_Prefs_Cancel 68 |
275 |
#define Icon_Prefs_OK 69 |
276 |
#define Icon_Prefs_PrefPath 70 |
277 |
#define Icon_Prefs_Save 71 |
278 |
#define Icon_Prefs_PrefSprite 72 |
279 |
#define Icon_Prefs_XROMOn 75 |
280 |
#define Icon_Prefs_XROMPath 76 |
281 |
|
282 |
#define Icon_Conf_PollAfter 3 |
283 |
#define Icon_Conf_SpeedAfter 5 |
284 |
#define Icon_Conf_Joy1Up 15 |
285 |
#define Icon_Conf_Joy1Down 16 |
286 |
#define Icon_Conf_Joy1Left 17 |
287 |
#define Icon_Conf_Joy1Right 18 |
288 |
#define Icon_Conf_Joy1Fire 19 |
289 |
#define Icon_Conf_Joy2Up 27 |
290 |
#define Icon_Conf_Joy2Down 28 |
291 |
#define Icon_Conf_Joy2Left 29 |
292 |
#define Icon_Conf_Joy2Right 30 |
293 |
#define Icon_Conf_Joy2Fire 31 |
294 |
#define Icon_Conf_OK 32 |
295 |
#define Icon_Conf_Save 33 |
296 |
#define Icon_Conf_ConfPath 34 |
297 |
#define Icon_Conf_ConfSprite 35 |
298 |
#define Icon_Conf_SoundAfter 37 |
299 |
|
300 |
#define Icon_Info_Name 4 |
301 |
#define Icon_Info_Purpose 5 |
302 |
#define Icon_Info_Author 6 |
303 |
#define Icon_Info_AuthorPort 7 |
304 |
#define Icon_Info_Version 8 |
305 |
|
306 |
#define Icon_Sound_Volume 0 |
307 |
#define Icon_Sound_Notes 1 |
308 |
|
309 |
#define Icon_Save_Sprite 0 |
310 |
#define Icon_Save_Path 1 |
311 |
#define Icon_Save_OK 2 |
312 |
|
313 |
|
314 |
|
315 |
|
316 |
// Drag types |
317 |
#define DRAG_PrefsSprite 1 |
318 |
#define DRAG_ConfSprite 2 |
319 |
#define DRAG_SaveSprite 3 |
320 |
#define DRAG_VolumeWell 16 |
321 |
|
322 |
|
323 |
|
324 |
// Save types |
325 |
#define SAVE_RAM 1 |
326 |
#define SAVE_Snapshot 2 |
327 |
|
328 |
|
329 |
|
330 |
|
331 |
// variables |
332 |
|
333 |
extern char LEDtoIcon[4]; |
334 |
extern char DriveToIcon[16]; |
335 |
extern char SIDtoIcon[3]; |
336 |
extern char REUtoIcon[4]; |
337 |
|
338 |
|
339 |
|
340 |
|
341 |
|
342 |
// Plotter structs and variables |
343 |
typedef struct { |
344 |
int x, y, dimx, dimy; |
345 |
} graph_env; |
346 |
|
347 |
#define PLOTTER_ARGS const graph_env *GraphEnv, const int *Clipwindow,\ |
348 |
const uint8 *Bitmap, const unsigned int *TransTab |
349 |
|
350 |
// Plotters provided in Plotters.s -- declare as C-functions ! |
351 |
extern "C" |
352 |
{ |
353 |
extern void PlotZoom1(PLOTTER_ARGS); |
354 |
extern void PlotZoom2(PLOTTER_ARGS); |
355 |
} |
356 |
|
357 |
#endif |