ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/Frodo4/Src/AcornGUI.h
Revision: 1.2
Committed: 2003-07-01T17:51:17Z (20 years, 9 months ago) by cebix
Content type: text/plain
Branch: MAIN
Changes since 1.1: +1 -1 lines
Log Message:
updated copyright date

File Contents

# User Rev Content
1 cebix 1.1 /*
2     * AcornGUI.h - Defines variables for the WIMP interface
3     *
4     * (C) 1997 Andreas Dehmel
5     *
6 cebix 1.2 * Frodo (C) 1994-1997,2002-2003 Christian Bauer
7 cebix 1.1 *
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    
280     #define Icon_Conf_PollAfter 3
281     #define Icon_Conf_SpeedAfter 5
282     #define Icon_Conf_Joy1Up 15
283     #define Icon_Conf_Joy1Down 16
284     #define Icon_Conf_Joy1Left 17
285     #define Icon_Conf_Joy1Right 18
286     #define Icon_Conf_Joy1Fire 19
287     #define Icon_Conf_Joy2Up 27
288     #define Icon_Conf_Joy2Down 28
289     #define Icon_Conf_Joy2Left 29
290     #define Icon_Conf_Joy2Right 30
291     #define Icon_Conf_Joy2Fire 31
292     #define Icon_Conf_OK 32
293     #define Icon_Conf_Save 33
294     #define Icon_Conf_ConfPath 34
295     #define Icon_Conf_ConfSprite 35
296     #define Icon_Conf_SoundAfter 37
297    
298     #define Icon_Info_Name 4
299     #define Icon_Info_Purpose 5
300     #define Icon_Info_Author 6
301     #define Icon_Info_AuthorPort 7
302     #define Icon_Info_Version 8
303    
304     #define Icon_Sound_Volume 0
305     #define Icon_Sound_Notes 1
306    
307     #define Icon_Save_Sprite 0
308     #define Icon_Save_Path 1
309     #define Icon_Save_OK 2
310    
311    
312    
313    
314     // Drag types
315     #define DRAG_PrefsSprite 1
316     #define DRAG_ConfSprite 2
317     #define DRAG_SaveSprite 3
318     #define DRAG_VolumeWell 16
319    
320    
321    
322     // Save types
323     #define SAVE_RAM 1
324     #define SAVE_Snapshot 2
325    
326    
327    
328    
329     // variables
330    
331     extern char LEDtoIcon[4];
332     extern char DriveToIcon[16];
333     extern char SIDtoIcon[3];
334     extern char REUtoIcon[4];
335    
336    
337    
338    
339    
340     // Plotter structs and variables
341     typedef struct {
342     int x, y, dimx, dimy;
343     } graph_env;
344    
345     #define PLOTTER_ARGS const graph_env *GraphEnv, const int *Clipwindow,\
346     const uint8 *Bitmap, const unsigned int *TransTab
347    
348     // Plotters provided in Plotters.s -- declare as C-functions !
349     extern "C"
350     {
351     extern void PlotZoom1(PLOTTER_ARGS);
352     extern void PlotZoom2(PLOTTER_ARGS);
353     }
354    
355     #endif