revert between 56095 -> 55830 in arch
[AROS.git] / compiler / include / libraries / asl.h
blobe693fbdeddcab29bd8820318611b70dd697a0269
1 #ifndef LIBRARIES_ASL_H
2 #define LIBRARIES_ASL_H
4 /*
5 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc:
9 Lang: english
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
16 #ifndef EXEC_NODES_H
17 # include <exec/nodes.h>
18 #endif
20 #ifndef UTILITY_TAGITEM_H
21 # include <utility/tagitem.h>
22 #endif
24 #ifndef WORKBENCH_STARTUP_H
25 # include <workbench/startup.h>
26 #endif
28 #ifndef GRAPHICS_TEXT_H
29 # include <graphics/text.h>
30 #endif
32 #ifndef GRAPHICS_DISPLAYINFO_H
33 # include <graphics/displayinfo.h>
34 #endif
36 /***************************************/
38 #define AslName "asl.library"
40 #define ASL_TB (TAG_USER + 0x80000)
43 /* Requester types */
44 #define ASL_FileRequest 0
45 #define ASL_FontRequest 1
46 #define ASL_ScreenModeRequest 2
48 /* Filerequester structure */
50 struct FileRequester
52 UBYTE fr_Reserved0[4];
53 STRPTR fr_File; /* User selected file */
54 STRPTR fr_Drawer; /* User selected drawer */
55 UBYTE fr_Reserved1[10];
56 WORD fr_LeftEdge; /* Requester size/placement on exit */
57 WORD fr_TopEdge;
58 WORD fr_Width;
59 WORD fr_Height;
60 UBYTE fr_Reserved2[2];
61 LONG fr_NumArgs; /* How many files were selected ? */
62 struct WBArg *fr_ArgList; /* Selected files */
63 APTR fr_UserData;
64 UBYTE fr_Reserved3[8];
65 STRPTR fr_Pattern; /* Pattern on exit */
69 /* Filerequester tags */
71 #define ASLFR_Window ASL_TB + 2
72 #define ASLFR_Screen ASL_TB + 40
73 #define ASLFR_PubScreenName ASL_TB + 41
74 #define ASLFR_PrivateIDCMP ASL_TB + 42
75 #define ASLFR_IntuiMsgFunc ASL_TB + 70
76 #define ASLFR_SleepWindow ASL_TB + 43
77 #define ASLFR_UserData ASL_TB + 52
78 #define ASLFR_PopToFront ASL_TB + 131
79 #define ASLFR_Activate ASL_TB + 132
81 #define ASLFR_TextAttr ASL_TB + 51
82 #define ASLFR_Locale ASL_TB + 50
83 #define ASLFR_TitleText ASL_TB + 1
84 #define ASLFR_PositiveText ASL_TB + 18
85 #define ASLFR_NegativeText ASL_TB + 19
87 #define ASLFR_InitialLeftEdge ASL_TB + 3
88 #define ASLFR_InitialTopEdge ASL_TB + 4
89 #define ASLFR_InitialWidth ASL_TB + 5
90 #define ASLFR_InitialHeight ASL_TB + 6
91 #define ASLFR_InitialFile ASL_TB + 8
92 #define ASLFR_InitialDrawer ASL_TB + 9
93 #define ASLFR_InitialPattern ASL_TB + 10
94 #define ASLFR_InitialShowVolumes ASL_TB + 130
96 #define ASLFR_Flags1 ASL_TB + 20
97 #define ASLFR_Flags2 ASL_TB + 22
98 #define ASLFR_DoSaveMode ASL_TB + 44
99 #define ASLFR_DoMultiSelect ASL_TB + 45
100 #define ASLFR_DoPatterns ASL_TB + 46
102 #define ASLFR_DrawersOnly ASL_TB + 47
103 #define ASLFR_FilterFunc ASL_TB + 49
104 #define ASLFR_RejectIcons ASL_TB + 60
105 #define ASLFR_RejectPattern ASL_TB + 61
106 #define ASLFR_AcceptPattern ASL_TB + 62
107 #define ASLFR_FilterDrawers ASL_TB + 63
108 #define ASLFR_HookFunc ASL_TB + 7
110 #define ASLFR_SetSortBy ASL_TB + 124
111 #define ASLFR_GetSortBy ASL_TB + 125
112 #define ASLFR_SetSortDrawers ASL_TB + 126
113 #define ASLFR_GetSortDrawers ASL_TB + 127
114 #define ASLFR_SetSortOrder ASL_TB + 128
115 #define ASLFR_GetSortOrder ASL_TB + 129
117 /* Flags for ASLFR_Flags1 */
119 #define FRB_FILTERFUNC 7
120 #define FRB_INTUIFUNC 6
121 #define FRB_DOSAVEMODE 5
122 #define FRB_PRIVATEIDCMP 4
123 #define FRB_DOMULTISELECT 3
124 #define FRB_DOPATTERNS 0
126 #define FRF_FILTERFUNC (1L << FRB_FILTERFUNC)
127 #define FRF_INTUIFUNC (1L << FRB_INTUIFUNC)
128 #define FRF_DOSAVEMODE (1L << FRB_DOSAVEMODE)
129 #define FRF_PRIVATEIDCMP (1L << FRB_PRIVATEIDCMP)
130 #define FRF_DOMULTISELECT (1L << FRB_DOMULTISELECT)
131 #define FRF_DOPATTERNS (1L << FRB_DOPATTERNS)
133 /* Flags for ASLSM_Flags2 */
135 #define FRB_DRAWERSONLY 0
136 #define FRB_FILTERDRAWERS 1
137 #define FRB_REJECTICONS 2
139 #define FRF_DRAWERSONLY (1L << FRB_DRAWERSONLY)
140 #define FRF_FILTERDRAWERS (1L << FRB_FILTERDRAWERS)
141 #define FRF_REJECTICONS (1L << FRB_REJECTICONS)
143 /* Sort criteria for ASLFR_SetSortBy/ASLFR_GetSortBy tags */
145 #define ASLFRSORTBY_Name 0
146 #define ASLFRSORTBY_Date 1
147 #define ASLFRSORTBY_Size 2
149 /* Drawer placement for ASLFR_SetSortDrawers/ASLFR_GetSortDrawers tags */
151 #define ASLFRSORTDRAWERS_First 0
152 #define ASLFRSORTDRAWERS_Mix 1
153 #define ASLFRSORTDRAWERS_Last 2
155 /* Sort order for the ASLFR_SetSortOrder/ASLFR_GetSortOrder tags */
157 #define ASLFRSORTORDER_Ascend 0
158 #define ASLFRSORTORDER_Descend 1
160 /* Fontrequester structure */
161 struct FontRequester
163 UBYTE fo_Reserved[8];
164 struct TextAttr fo_Attr;
165 UBYTE fo_FrontPen;
166 UBYTE fo_BackPen;
167 UBYTE fo_DrawMode;
168 UBYTE fo_Reserved1;
169 APTR fo_UserData;
170 WORD fo_LeftEdge;
171 WORD fo_TopEdge;
172 WORD fo_Width;
173 WORD fo_Height;
174 struct TTextAttr fo_TAttr;
177 /* Fontrequester tags */
179 #define ASLFO_Window ASL_TB + 2
180 #define ASLFO_Screen ASL_TB + 40
181 #define ASLFO_PubScreenName ASL_TB + 41
182 #define ASLFO_PrivateIDCMP ASL_TB + 42
183 #define ASLFO_IntuiMsgFunc ASL_TB + 70
184 #define ASLFO_SleepWindow ASL_TB + 43
185 #define ASLFO_UserData ASL_TB + 52
186 #define ASLFO_PopToFront ASL_TB + 131
187 #define ASLFO_Activate ASL_TB + 132
189 #define ASLFO_TextAttr ASL_TB + 51
190 #define ASLFO_Locale ASL_TB + 50
191 #define ASLFO_TitleText ASL_TB + 1
192 #define ASLFO_PositiveText ASL_TB + 18
193 #define ASLFO_NegativeText ASL_TB + 19
195 #define ASLFO_InitialLeftEdge ASL_TB + 3
196 #define ASLFO_InitialTopEdge ASL_TB + 4
197 #define ASLFO_InitialWidth ASL_TB + 5
198 #define ASLFO_InitialHeight ASL_TB + 6
199 #define ASLFO_InitialName ASL_TB + 10
200 #define ASLFO_InitialSize ASL_TB + 11
201 #define ASLFO_InitialStyle ASL_TB + 12
202 #define ASLFO_InitialFlags ASL_TB + 13
203 #define ASLFO_InitialFrontPen ASL_TB + 14
204 #define ASLFO_InitialBackPen ASL_TB + 15
205 #define ASLFO_InitialDrawMode ASL_TB + 59
207 #define ASLFO_Flags ASL_TB + 20
208 #define ASLFO_DoFrontPen ASL_TB + 44
209 #define ASLFO_DoBackPen ASL_TB + 45
210 #define ASLFO_DoStyle ASL_TB + 46
211 #define ASLFO_DoDrawMode ASL_TB + 47
212 #define ASLFO_SampleText ASL_TB + 133
214 #define ASLFO_FixedWidthOnly ASL_TB + 48
215 #define ASLFO_MinHeight ASL_TB + 16
216 #define ASLFO_MaxHeight ASL_TB + 17
217 #define ASLFO_FilterFunc ASL_TB + 49
218 #define ASLFO_HookFunc ASL_TB + 7
219 #define ASLFO_MaxFrontPen ASL_TB + 66
220 #define ASLFO_MaxBackPen ASL_TB + 67
222 #define ASLFO_ModeList ASL_TB + 21
223 #define ASLFO_FrontPens ASL_TB + 64
224 #define ASLFO_BackPens ASL_TB + 65
226 /* Flags for ASLFO_Flags */
228 #define FOB_DOFRONTPEN 0
229 #define FOB_DOBACKPEN 1
230 #define FOB_DOSTYLE 2
231 #define FOB_DODRAWMODE 3
232 #define FOB_FIXEDWIDTHONLY 4
233 #define FOB_PRIVATEIDCMP 5
234 #define FOB_INTUIFUNC 6
235 #define FOB_FILTERFUNC 7
237 #define FOF_DOFRONTPEN (1L << FOB_DOFRONTPEN)
238 #define FOF_DOBACKPEN (1L << FOB_DOBACKPEN)
239 #define FOF_DOSTYLE (1L << FOB_DOSTYLE)
240 #define FOF_DODRAWMODE (1L << FOB_DODRAWMODE)
241 #define FOF_FIXEDWIDTHONLY (1L << FOB_FIXEDWIDTHONLY)
242 #define FOF_PRIVATEIDCMP (1L << FOB_PRIVATEIDCMP)
243 #define FOF_INTUIFUNC (1L << FOB_INTUIFUNC)
244 #define FOF_FILTERFUNC (1L << FOB_FILTERFUNC)
247 /* Screenmoderequester structure */
249 struct ScreenModeRequester
251 ULONG sm_DisplayID;
252 ULONG sm_DisplayWidth;
253 ULONG sm_DisplayHeight;
254 UWORD sm_DisplayDepth;
255 UWORD sm_OverscanType;
256 BOOL sm_AutoScroll;
258 ULONG sm_BitMapWidth;
259 ULONG sm_BitMapHeight;
261 WORD sm_LeftEdge;
262 WORD sm_TopEdge;
263 WORD sm_Width;
264 WORD sm_Height;
266 BOOL sm_InfoOpened;
267 WORD sm_InfoLeftEdge;
268 WORD sm_InfoTopEdge;
269 WORD sm_InfoWidth;
270 WORD sm_InfoHeight;
272 APTR sm_UserData;
276 /* Structure for adding custom display modes to the requester list */
277 struct DisplayMode
279 struct Node dm_Node;
280 struct DimensionInfo dm_DimensionInfo;
281 ULONG dm_PropertyFlags;
285 /* ScreenModerequester tags */
287 #define ASLSM_Window ASL_TB + 2
288 #define ASLSM_Screen ASL_TB + 40
289 #define ASLSM_PubScreenName ASL_TB + 41
290 #define ASLSM_PrivateIDCMP ASL_TB + 42
291 #define ASLSM_IntuiMsgFunc ASL_TB + 70
292 #define ASLSM_SleepWindow ASL_TB + 43
293 #define ASLSM_UserData ASL_TB + 52
294 #define ASLSM_PopToFront ASL_TB + 131
295 #define ASLSM_Activate ASL_TB + 132
297 #define ASLSM_TextAttr ASL_TB + 51
298 #define ASLSM_Locale ASL_TB + 50
299 #define ASLSM_TitleText ASL_TB + 1
300 #define ASLSM_PositiveText ASL_TB + 18
301 #define ASLSM_NegativeText ASL_TB + 19
303 #define ASLSM_InitialLeftEdge ASL_TB + 3
304 #define ASLSM_InitialTopEdge ASL_TB + 4
305 #define ASLSM_InitialWidth ASL_TB + 5
306 #define ASLSM_InitialHeight ASL_TB + 6
308 #define ASLSM_InitialDisplayID ASL_TB + 100
309 #define ASLSM_InitialDisplayWidth ASL_TB + 101
310 #define ASLSM_InitialDisplayHeight ASL_TB + 102
311 #define ASLSM_InitialDisplayDepth ASL_TB + 103
312 #define ASLSM_InitialOverscanType ASL_TB + 104
313 #define ASLSM_InitialAutoScroll ASL_TB + 105
314 #define ASLSM_InitialInfoOpened ASL_TB + 106
315 #define ASLSM_InitialInfoLeftEdge ASL_TB + 107
316 #define ASLSM_InitialInfoTopEdge ASL_TB + 108
318 #define ASLSM_DoWidth ASL_TB + 109
319 #define ASLSM_DoHeight ASL_TB + 110
320 #define ASLSM_DoDepth ASL_TB + 111
321 #define ASLSM_DoOverscanType ASL_TB + 112
322 #define ASLSM_DoAutoScroll ASL_TB + 113
324 #define ASLSM_PropertyFlags ASL_TB + 114
325 #define ASLSM_PropertyMask ASL_TB + 115
326 #define ASLSM_MinWidth ASL_TB + 116
327 #define ASLSM_MaxWidth ASL_TB + 117
328 #define ASLSM_MinHeight ASL_TB + 118
329 #define ASLSM_MaxHeight ASL_TB + 119
330 #define ASLSM_MinDepth ASL_TB + 120
331 #define ASLSM_MaxDepth ASL_TB + 121
332 #define ASLSM_FilterFunc ASL_TB + 122
334 #define ASLSM_CustomSMList ASL_TB + 123
336 /****************************/
338 #define ASL_LAST_TAG ASL_TB + 131
340 /****************************/
342 /* Obsolete pre-V38 ASL defienitions. Only here for source
343 compatibility. DO NOT USE iN NEW CODE.
345 To make sure you not use them, #define ASL_V38_NAMES_ONLY
349 #ifndef ASL_V38_NAMES_ONLY
351 /* !!! DO NOT USE !!! */
353 #define rf_File fr_File
354 #define rf_Dir fr_Drawer
355 #define rf_LeftEdge fr_LeftEdge
356 #define rf_TopEdge fr_TopEdge
357 #define rf_Width fr_Width
358 #define rf_Height fr_Height
359 #define rf_NumArgs fr_NumArgs
360 #define rf_ArgList fr_ArgList
361 #define rf_UserData fr_UserData
362 #define rf_Pat fr_Pattern
364 /* !!! DO NOT USE !!! */
366 #define ASL_Dummy (TAG_USER + 0x80000)
367 #define ASL_Hail ASL_Dummy + 1
368 #define ASL_Window ASL_Dummy + 2
369 #define ASL_LeftEdge ASL_Dummy + 3
370 #define ASL_TopEdge ASL_Dummy + 4
371 #define ASL_Width ASL_Dummy + 5
372 #define ASL_Height ASL_Dummy + 6
373 #define ASL_HookFunc ASL_Dummy + 7
374 #define ASL_File ASL_Dummy + 8
375 #define ASL_Dir ASL_Dummy + 9
376 #define ASL_FontName ASL_Dummy + 10
377 #define ASL_FontHeight ASL_Dummy + 11
378 #define ASL_FontStyles ASL_Dummy + 12
379 #define ASL_FontFlags ASL_Dummy + 13
380 #define ASL_FrontPen ASL_Dummy + 14
381 #define ASL_BackPen ASL_Dummy + 15
382 #define ASL_MinHeight ASL_Dummy + 16
383 #define ASL_MaxHeight ASL_Dummy + 17
384 #define ASL_OKText ASL_Dummy + 18
385 #define ASL_CancelText ASL_Dummy + 19
386 #define ASL_FuncFlags ASL_Dummy + 20
387 #define ASL_ModeList ASL_Dummy + 21
388 #define ASL_ExtFlags1 ASL_Dummy + 22
389 #define ASL_Pattern ASL_FontName
391 /* !!! DO NOT USE !!! */
393 #define FILB_DOWILDFUNC 7L
394 #define FILB_DOMSGFUNC 6L
395 #define FILB_SAVE 5L
396 #define FILB_NEWIDCMP 4L
397 #define FILB_MULTISELECT 3L
398 #define FILB_PATGAD 0L
400 #define FILF_DOWILDFUNC (1L << FILB_DOWILDFUNC)
401 #define FILF_DOMSGFUNC (1L << FILB_DOMSGFUNC)
402 #define FILF_SAVE (1L << FILB_SAVE)
403 #define FILF_NEWIDCMP (1L << FILB_NEWIDCMP)
404 #define FILF_MULTISELECT (1L << FILB_MULTISELECT)
405 #define FILF_PATGAD (1L << FILB_PATGAD)
406 #define FIL1B_NOFILES 0L
407 #define FIL1B_MATCHDIRS 1L
408 #define FIL1F_NOFILES (1L << FIL1B_NOFILES)
409 #define FIL1F_MATCHDIRS (1L << FIL1B_MATCHDIRS)
410 #define FONB_FRONTCOLOR 0L
411 #define FONB_BACKCOLOR 1L
412 #define FONB_STYLES 2L
413 #define FONB_DRAWMODE 3L
414 #define FONB_FIXEDWIDTH 4L
415 #define FONB_NEWIDCMP 5L
416 #define FONB_DOMSGFUNC 6L
417 #define FONB_WILDFUNC 7L
418 #define FONF_FRONTCOLOR (1L << FONB_FRONTCOLOR)
419 #define FONF_BACKCOLOR (1L << FONB_BACKCOLOR)
420 #define FONF_STYLES (1L << FONB_STYLES)
421 #define FONF_DRAWMODE (1L << FONB_DRAWMODE)
422 #define FONF_FIXEDWIDTH (1L << FONB_FIXEDWIDTH)
423 #define FONF_NEWIDCMP (1L << FONB_NEWIDCMP)
424 #define FONF_DOMSGFUNC (1L << FONB_DOMSGFUNC)
425 #define FONF_DOWILDFUNC (1L << FONB_DOWILDFUNC)
427 #endif /* ASL_V38_NAMES_ONLY */
429 /*************************/
431 #endif /* LIBRARIES_ASL_H */