alsa.audio: add additional read cycle if there is more than 20ms space in buffer
[AROS.git] / external / openurl / include / libraries / muiaros.h
blob7d83fcb14cf464f2f81f74976d6c5bbcd9294ac4
1 /*
2 Copyright 2002-2012, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef LIBRARIES_MUI_H
7 #define LIBRARIES_MUI_H
9 #ifndef INTUITION_CLASSES_H
10 # include <intuition/classes.h>
11 #endif
12 #ifndef GRAPHICS_GRAPHICS_H
13 # include <graphics/gfx.h>
14 #endif
15 #ifndef GRAPHICS_RASTPORT_H
16 # include <graphics/rastport.h>
17 #endif
18 #ifndef LIBRARIES_IFFPARSE_H
19 # include <libraries/iffparse.h>
20 #endif
22 #ifdef __AROS__
23 # ifndef AROS_ASMCALL_H
24 # include <aros/asmcall.h>
25 # endif
26 # define SAVEDS
27 #else
29 Copyright © 2003, The AROS Development Team. All rights reserved.
30 $Id$
33 #ifndef _MUIMASTER_SUPPORT_AMIGAOS_H_
34 #define _MUIMASTER_SUPPORT_AMIGAOS_H_
36 #ifdef EXEC_TYPES_H
37 #include <exec/types.h>
38 #endif
40 #ifndef INTUITION_CLASSES_H
41 #include <intuition/classes.h>
42 #endif
44 #ifndef AMIGA_COMILER_H
45 #include <amiga_compiler.h>
46 #endif
48 #ifndef PROTO_UTILITY_H
49 #include <proto/utility.h>
50 #endif
52 /* These are the identity function under AmigaOS */
53 #define AROS_LONG2BE(x) (x)
54 #define AROS_BE2LONG(x) (x)
56 #define IMSPEC_EXTERNAL_PREFIX "MUI:Images/"
58 /* Define all classes as built in...should be moved out to config.h like file */
59 #define ZUNE_BUILTIN_ABOUTMUI 1
60 #define ZUNE_BUILTIN_BALANCE 1
61 #define ZUNE_BUILTIN_BOOPSI 1
62 #define ZUNE_BUILTIN_COLORADJUST 1
63 #define ZUNE_BUILTIN_COLORFIELD 1
64 #define ZUNE_BUILTIN_FRAMEADJUST 1
65 #define ZUNE_BUILTIN_FRAMEDISPLAY 1
66 #define ZUNE_BUILTIN_GAUGE 1
67 #define ZUNE_BUILTIN_ICONLISTVIEW 0
68 #define ZUNE_BUILTIN_IMAGEADJUST 1
69 #define ZUNE_BUILTIN_IMAGEDISPLAY 1
70 #define ZUNE_BUILTIN_PENADJUST 1
71 #define ZUNE_BUILTIN_PENDISPLAY 1
72 #define ZUNE_BUILTIN_POPASL 1
73 #define ZUNE_BUILTIN_POPFRAME 1
74 #define ZUNE_BUILTIN_POPIMAGE 1
75 #define ZUNE_BUILTIN_POPPEN 1
76 #define ZUNE_BUILTIN_RADIO 1
77 #define ZUNE_BUILTIN_SCALE 1
78 #define ZUNE_BUILTIN_SCROLLGROUP 1
79 #define ZUNE_BUILTIN_SETTINGSGROUP 1
80 #define ZUNE_BUILTIN_VIRTGROUP 1
82 #ifdef __SASC
83 #include <dos.h>
84 #endif
86 #ifndef PI
87 #define PI 3.1415
88 #endif
90 #ifndef M_PI
91 #define M_PI PI
92 #endif
94 #define AROS_STACKSIZE 65536
96 char *StrDup(const char *x);
97 Object *DoSuperNewTagList(struct IClass *cl, Object *obj,void *dummy, struct TagItem *tags);
98 Object *VARARGS68K DoSuperNewTags(struct IClass *cl, Object *obj, void *dummy, ...);
99 int VARARGS68K SPrintf(char *buf, const char *fmt, ...);
104 /*** HookEntry for OS4 (is only a dummy) ************************************/
105 #ifdef __amigaos4__
106 ASM ULONG HookEntry(REG(a0, struct Hook *hook),REG(a2, APTR obj), REG(a1, APTR msg));
107 #endif
109 /*** OS4 Exec Interface support *********************************************/
110 #ifdef __amigaos4__
111 #define EXEC_INTERFACE_DECLARE(x) x
112 #define EXEC_INTERFACE_GET_MAIN(interface,libbase) (interface = (void*)GetInterface(libbase,"main",1,NULL))
113 #define EXEC_INTERFACE_DROP(interface) DropInterface((struct Interface*)interface)
114 #define EXEC_INTERFACE_ASSIGN(a,b) (a = b)
115 #else
116 #define EXEC_INTERFACE_DECLARE(x)
117 #define EXEC_INTERFACE_GET_MAIN(interface,libbase) 1
118 #define EXEC_INTERFACE_DROP(interface)
119 #define EXEC_INTERFACE_ASSIGN(a,b)
120 #endif
122 /*** AROS Exec extensions ***************************************************/
123 #ifndef __amigaos4__
124 APTR AllocVecPooled(APTR pool, ULONG size);
125 VOID FreeVecPooled(APTR pool, APTR memory);
126 #endif
128 /*** AROS Intuition extensions **********************************************/
129 #define DeinitRastPort(rp)
130 #define CloneRastPort(rp) (rp)
131 #define FreeRastPort(rp)
133 /*** Miscellanous compiler supprot ******************************************/
134 #ifndef SAVEDS
135 # ifdef __MAXON__
136 # define __asm
137 # define __inline
138 # define SAVEDS
139 # define const
140 # else
141 # define SAVEDS __saveds
142 # endif
143 #endif
145 #define __stackparm
147 /*** Miscellanous AROS macros ***********************************************/
148 #define AROS_LIBFUNC_INIT
149 #define AROS_LIBBASE_EXT_DECL(a, b) extern a b;
150 #define AROS_LIBFUNC_EXIT
151 #define AROS_ASMSYMNAME(a) a
153 #define LC_BUILDNAME(x) x
154 #define LIBBASETYPEPTR struct Library *
156 /*** AROS types *************************************************************/
157 #ifndef __AROS_TYPES_DEFINED__
158 # define __AROS_TYPES_DEFINED__
159 typedef unsigned long IPTR;
160 typedef long STACKLONG;
161 typedef unsigned long STACKULONG;
162 typedef void (*VOID_FUNC)();
163 #define STACKED
164 #endif /* __AROS_TYPES_DEFINED__ */
166 /*** AROS list macros *******************************************************/
167 #define ForeachNode(l,n) \
168 for \
170 n=(void *)(((struct List *)(l))->lh_Head); \
171 ((struct Node *)(n))->ln_Succ; \
172 n=(void *)(((struct Node *)(n))->ln_Succ) \
175 /*** AROS register definitions **********************************************/
176 #define __REG_D0 __d0
177 #define __REG_D1 __d1
178 #define __REG_D2 __d2
179 #define __REG_D3 __d3
180 #define __REG_D4 __d4
181 #define __REG_D5 __d5
182 #define __REG_D6 __d6
183 #define __REG_D7 __d7
184 #define __REG_A0 __a0
185 #define __REG_A1 __a1
186 #define __REG_A2 __a2
187 #define __REG_A3 __a3
188 #define __REG_A4 __a4
189 #define __REG_A5 __a5
190 #define __REG_A6 __a6
191 #define __REG_A7 __a7
193 /*** AROS library function macros *******************************************/
194 #define AROS_LH0(rt, fn, bt, bn, lvo, p) \
195 ASM rt LIB_##fn (void)
196 #define AROS_LH1(rt, fn, a1, bt, bn, lvo, p) \
197 ASM rt LIB_##fn (a1)
198 #define AROS_LH2(rt, fn, a1, a2, bt, bn, lvo, p) \
199 ASM rt LIB_##fn (a1, a2)
200 #define AROS_LH3(rt, fn, a1, a2, a3, bt, bn, lvo, p) \
201 ASM rt LIB_##fn (a1, a2, a3)
202 #define AROS_LH4(rt, fn, a1, a2, a3, a4, bt, bn, lvo, p) \
203 ASM rt LIB_##fn (a1, a2, a3, a4)
204 #define AROS_LH5(rt, fn, a1, a2, a3, a4, a5, bt, bn, lvo, p) \
205 ASM rt LIB_##fn (a1, a2, a3, a4, a5)
206 #define AROS_LH6(rt, fn, a1, a2, a3, a4, a5, a6, bt, bn, lvo, p) \
207 ASM rt LIB_##fn (a1, a2, a3, a4, a5, a6)
208 #define AROS_LH7(rt, fn, a1, a2, a3, a4, a5, a6, a7, bt, bn, lvo, p) \
209 ASM rt LIB_##fn (a1, a2, a3, a4, a5, a6, a7)
210 #define AROS_LH8(rt, fn, a1, a2, a3, a4, a5, a6, a7, a8, bt, bn, lvo, p) \
211 ASM rt LIB_##fn (a1, a2, a3, a4, a5, a6, a7, a8)
213 #ifdef __SASC
214 # define AROS_LHA(type, name, reg) register __REG_##reg type name
215 #else
216 # define AROS_LHA(type, name, reg) type name
217 #endif
219 /*** AROS user function macros **********************************************/
220 #define AROS_USERFUNC_INIT
221 #define AROS_USERFUNC_EXIT
223 #define AROS_UFH0(rt, fn) \
224 ASM rt fn (void)
225 #define AROS_UFH1(rt, fn, a1) \
226 ASM rt fn (a1)
227 #define AROS_UFH2(rt, fn, a1, a2) \
228 ASM rt fn (a1, a2)
229 #define AROS_UFH3(rt, fn, a1, a2, a3) \
230 ASM rt fn (a1, a2, a3)
231 #define AROS_UFH4(rt, fn, a1, a2, a3, a4) \
232 ASM rt fn (a1, a2, a3, a4)
233 #define AROS_UFH5(rt, fn, a1, a2, a3, a4, a5) \
234 ASM rt fn (a1, a2, a3, a4, a5)
235 #define AROS_UFH6(rt, fn, a1, a2, a3, a4, a5, a6) \
236 ASM rt fn (a1, a2, a3, a4, a5, a6)
237 #define AROS_UFH7(rt, fn, a1, a2, a3, a4, a5, a6, a7) \
238 ASM rt fn (a1, a2, a3, a4, a5, a6, a7)
239 #define AROS_UFH8(rt, fn, a1, a2, a3, a4, a5, a6, a7, a8) \
240 ASM rt fn (a1, a2, a3, a4, a5, a6, a7, a8)
242 #define AROS_UFH0S(rt, fn) \
243 ASM static rt fn (void)
244 #define AROS_UFH1S(rt, fn, a1) \
245 ASM static rt fn (a1)
246 #define AROS_UFH2S(rt, fn, a1, a2) \
247 ASM static rt fn (a1, a2)
248 #define AROS_UFH3S(rt, fn, a1, a2, a3) \
249 ASM static rt fn (a1, a2, a3)
250 #define AROS_UFH4S(rt, fn, a1, a2, a3, a4) \
251 ASM static rt fn (a1, a2, a3, a4)
252 #define AROS_UFH5S(rt, fn, a1, a2, a3, a4, a5) \
253 ASM static rt fn (a1, a2, a3, a4, a5)
254 #define AROS_UFH6S(rt, fn, a1, a2, a3, a4, a5, a6) \
255 ASM static rt fn (a1, a2, a3, a4, a5, a6)
256 #define AROS_UFH7S(rt, fn, a1, a2, a3, a4, a5, a6, a7) \
257 ASM static rt fn (a1, a2, a3, a4, a5, a6, a7)
258 #define AROS_UFH8S(rt, fn, a1, a2, a3, a4, a5, a6, a7, a8) \
259 ASM static rt fn (a1, a2, a3, a4, a5, a6, a7, a8)
261 #ifdef __SASC
262 # define AROS_UFHA(type, name, reg) register __REG_##reg type name
263 #else
264 # define AROS_UFHA(type, name, reg) type name
265 #endif
267 #define AROS_UFP0 AROS_UFH0
268 #define AROS_UFP1 AROS_UFH1
269 #define AROS_UFP2 AROS_UFH2
270 #define AROS_UFP3 AROS_UFH3
271 #define AROS_UFP4 AROS_UFH4
272 #define AROS_UFP5 AROS_UFH5
273 #define AROS_UFP6 AROS_UFH6
274 #define AROS_UFP7 AROS_UFH7
275 #define AROS_UFP8 AROS_UFH8
277 #define AROS_UFPA AROS_UFHA
280 With the following define a typical dispatcher will looks like this:
281 BOOPSI_DISPATCHER(IPTR,IconWindow_Dispatcher,cl,obj,msg)
283 #define BOOPSI_DISPATCHER(rettype,name,cl,obj,msg) \
284 AROS_UFH3(SAVEDS rettype, name,\
285 AROS_UFHA(Class *, cl, A0),\
286 AROS_UFHA(Object *, obj, A2),\
287 AROS_UFHA(Msg , msg, A1)) {AROS_USERFUNC_INIT
288 #define BOOPSI_DISPATCHER_END AROS_USERFUNC_EXIT}
289 #define BOOPSI_DISPATCHER_PROTO(rettype,name,cl,obj,msg) \
290 AROS_UFP3(SAVEDS rettype, name,\
291 AROS_UFPA(Class *, cl, A0),\
292 AROS_UFPA(Object *, obj, A2),\
293 AROS_UFPA(Msg , msg, A1))
296 #endif /* _MUIMASTER_SUPPORT_AMIGAOS_H_ */
297 #endif
300 #ifndef _MUI_IDENTIFIERS_H
301 #define _MUI_IDENTIFIERS_H
304 Copyright © 2003, The AROS Development Team. All rights reserved.
305 $Id$
308 #include <utility/tagitem.h>
310 #define MUIB_MUI (TAG_USER) /* Base for legacy MUI identifiers */
311 #define MUIB_RSVD (MUIB_MUI | 0x10400000) /* Base for AROS reserved range */
312 #define MUIB_ZUNE (MUIB_RSVD | 0x00020000) /* Base for Zune core reserved range */
313 #define MUIB_AROS (MUIB_RSVD | 0x00070000) /* Base for AROS core reserved range */
315 #endif /* _MUI_IDENTIFIERS_H */
317 #ifndef __AROS__
318 #define MUIMASTER_NAME "zunemaster.library"
319 #define MUIMASTER_VMIN 0
320 #define MUIMASTER_VLATEST 0
321 #else
322 #define MUIMASTER_NAME "muimaster.library"
323 #define MUIMASTER_VMIN 11
324 #define MUIMASTER_VLATEST 19
325 #endif
328 /* This structure is used for the internal classes */
330 struct __MUIBuiltinClass {
331 CONST_STRPTR name;
332 CONST_STRPTR supername;
333 ULONG datasize;
335 #ifndef __AROS__
336 ULONG (*dispatcher)();
337 #else
338 AROS_UFP3(IPTR, (*dispatcher),
339 AROS_UFPA(Class *, cl, A0),
340 AROS_UFPA(Object *, obj, A2),
341 AROS_UFPA(Msg , msg, A1));
342 #endif
346 #if defined(MUIMASTER_YES_INLINE_STDARG) && \
347 !defined(NO_INLINE_STDARG) && \
348 !defined(__SASC)
350 #define MUIOBJMACRO_START(class) (APTR) \
351 ({ \
352 ClassID __class = (ClassID) class; \
353 enum { __ismuiobjmacro = 1 }; \
354 IPTR __tags[] = {0
356 #define BOOPSIOBJMACRO_START(class) (APTR) \
357 ({ \
358 Class *__class = (Class *) class; \
359 enum { __ismuiobjmacro = 0 }; \
360 IPTR __tags[] = {0
362 #define OBJMACRO_END \
363 TAG_DONE}; \
365 __ismuiobjmacro \
366 ? MUI_NewObjectA((ClassID)__class, (struct TagItem *)(__tags + 1)) \
367 : NewObjectA((Class *)__class, NULL, (struct TagItem *)(__tags + 1)) \
368 ); \
371 #else
373 #ifdef __amigaos4__
374 # define MUIOBJMACRO_START(class) (IZuneMaster->MUI_NewObject)(class
375 # define BOOPSIOBJMACRO_START(class) (IIntuition->NewObject)(class, NULL
376 #else
377 # define MUIOBJMACRO_START(class) MUI_NewObject(class
378 # define BOOPSIOBJMACRO_START(class) NewObject(class, NULL
379 #endif
381 #define OBJMACRO_END TAG_DONE)
383 #endif
385 #ifndef _MUI_CLASSES_NOTIFY_H
386 #ifndef _MUI_CLASSES_NOTIFY_H
387 #define _MUI_CLASSES_NOTIFY_H
390 Copyright © 2002-2012, The AROS Development Team. All rights reserved.
391 $Id$
394 struct MUI_NotifyData
396 struct MUI_GlobalInfo *mnd_GlobalInfo;
397 IPTR mnd_UserData;
398 ULONG mnd_ObjectID;
400 /* private starts here */
401 struct MinList *mnd_NotifyList; /* priv1 */
402 Object *mnd_ParentObject; /* priv2 */
403 struct MUI_NotifyAttributes *mnd_Attributes; /* priv3 */
404 IPTR mnd_Dummy; /* priv4 */
407 /*** Name *******************************************************************/
408 #define MUIC_Notify "Notify.mui"
410 /*** Identifier base (for Zune extensions) **********************************/
411 #define MUIB_Notify (MUIB_ZUNE | 0x00001d00)
413 /*** Methods ****************************************************************/
414 #define MUIM_CallHook (MUIB_MUI | 0x0042b96b) /* MUI: V4 */
415 #define MUIM_Export (MUIB_MUI | 0x00420f1c) /* MUI: V12 */
416 #define MUIM_FindUData (MUIB_MUI | 0x0042c196) /* MUI: V8 */
417 #define MUIM_GetConfigItem (MUIB_MUI | 0x00423edb) /* MUI: V11 */
418 #define MUIM_GetUData (MUIB_MUI | 0x0042ed0c) /* MUI: V8 */
419 #define MUIM_Import (MUIB_MUI | 0x0042d012) /* MUI: V12 */
420 #define MUIM_KillNotify (MUIB_MUI | 0x0042d240) /* MUI: V4 */
421 #define MUIM_KillNotifyObj (MUIB_MUI | 0x0042b145) /* MUI: V16 */
422 #define MUIM_MultiSet (MUIB_MUI | 0x0042d356) /* MUI: V7 */
423 #define MUIM_NoNotifySet (MUIB_MUI | 0x0042216f) /* MUI: V9 */
424 #define MUIM_Notify (MUIB_MUI | 0x0042c9cb) /* MUI: V4 */
425 #define MUIM_Set (MUIB_MUI | 0x0042549a) /* MUI: V4 */
426 #define MUIM_SetAsString (MUIB_MUI | 0x00422590) /* MUI: V4 */
427 #define MUIM_SetUData (MUIB_MUI | 0x0042c920) /* MUI: V8 */
428 #define MUIM_SetUDataOnce (MUIB_MUI | 0x0042ca19) /* MUI: V11 */
429 #define MUIM_WriteLong (MUIB_MUI | 0x00428d86) /* MUI: V6 */
430 #define MUIM_WriteString (MUIB_MUI | 0x00424bf4) /* MUI: V6 */
432 struct MUIP_CallHook
434 STACKED ULONG MethodID;
435 STACKED struct Hook *Hook;
436 STACKED IPTR param1; /* more might follow */
439 struct MUIP_Export
441 STACKED ULONG MethodID;
442 STACKED Object *dataspace;
445 struct MUIP_FindUData
447 STACKED ULONG MethodID;
448 STACKED IPTR udata;
451 struct MUIP_GetConfigItem
453 STACKED ULONG MethodID;
454 STACKED ULONG id;
455 STACKED IPTR *storage;
458 struct MUIP_GetUData
460 STACKED ULONG MethodID;
461 STACKED ULONG udata;
462 STACKED ULONG attr;
463 STACKED IPTR *storage;
466 struct MUIP_Import
468 STACKED ULONG MethodID;
469 STACKED Object *dataspace;
472 struct MUIP_KillNotify
474 STACKED ULONG MethodID;
475 STACKED ULONG TrigAttr;
478 struct MUIP_KillNotifyObj
480 STACKED ULONG MethodID;
481 STACKED ULONG TrigAttr;
482 STACKED Object *dest;
485 struct MUIP_MultiSet
487 STACKED ULONG MethodID;
488 STACKED ULONG attr;
489 STACKED IPTR val;
490 STACKED APTR obj; /* more might follow */
493 struct MUIP_NoNotifySet
495 STACKED ULONG MethodID;
496 STACKED ULONG attr;
497 STACKED IPTR val; /* more might follow */
500 struct MUIP_Notify
502 STACKED ULONG MethodID;
503 STACKED ULONG TrigAttr;
504 STACKED IPTR TrigVal;
505 STACKED APTR DestObj;
506 STACKED ULONG FollowParams; /* more might follow */
509 struct MUIP_Set
511 STACKED ULONG MethodID;
512 STACKED ULONG attr;
513 STACKED IPTR val;
516 struct MUIP_SetAsString
518 STACKED ULONG MethodID;
519 STACKED ULONG attr;
520 STACKED char *format;
521 STACKED IPTR val; /* more might follow */
524 struct MUIP_SetUData
526 STACKED ULONG MethodID;
527 STACKED IPTR udata;
528 STACKED ULONG attr;
529 STACKED IPTR val;
532 struct MUIP_SetUDataOnce
534 STACKED ULONG MethodID;
535 STACKED IPTR udata;
536 STACKED ULONG attr;
537 STACKED IPTR val;
540 struct MUIP_WriteLong
542 STACKED ULONG MethodID;
543 STACKED ULONG val;
544 STACKED ULONG *memory;
547 struct MUIP_WriteString
549 STACKED ULONG MethodID;
550 STACKED char *str;
551 STACKED char *memory;
554 #define MUIM_ConnectParent (MUIB_Notify | 0x00000000) /* Zune: V1 */
555 #define MUIM_DisconnectParent (MUIB_Notify | 0x00000001) /* Zune: V1 */
557 struct MUIP_ConnectParent
559 STACKED ULONG MethodID;
560 STACKED Object *parent;
563 struct MUIP_DisconnectParent
565 STACKED ULONG MethodID;
568 /*** Attributes *************************************************************/
569 #define MUIA_ApplicationObject \
570 (MUIB_MUI | 0x0042d3ee) /* MUI: V4 ..g Object * */
571 #define MUIA_AppMessage \
572 (MUIB_MUI | 0x00421955) /* MUI: V5 ..g struct AppMessage * */
573 #define MUIA_HelpLine \
574 (MUIB_MUI | 0x0042a825) /* MUI: V4 isg LONG */
575 #define MUIA_HelpNode \
576 (MUIB_MUI | 0x00420b85) /* MUI: V4 isg STRPTR */
577 #define MUIA_NoNotify \
578 (MUIB_MUI | 0x004237f9) /* MUI: V7 .s. BOOL */
579 #define MUIA_ObjectID \
580 (MUIB_MUI | 0x0042d76e) /* MUI: V11 isg ULONG */
581 #define MUIA_Parent \
582 (MUIB_MUI | 0x0042e35f) /* MUI: V11 ..g Object * */
583 #define MUIA_Revision \
584 (MUIB_MUI | 0x00427eaa) /* MUI: V4 ..g LONG */
585 #define MUIA_UserData \
586 (MUIB_MUI | 0x00420313) /* MUI: V4 isg ULONG */
587 #define MUIA_Version \
588 (MUIB_MUI | 0x00422301) /* MUI: V4 ..g LONG */
590 /* Special values for MUIM_Notify */
591 #define MUIV_TriggerValue 0x49893131UL
592 #define MUIV_NotTriggerValue 0x49893133UL
593 #define MUIV_EveryTime 0x49893131UL /* as TrigVal */
595 enum
597 MUIV_Notify_Self = 1,
598 MUIV_Notify_Window,
599 MUIV_Notify_Application,
600 MUIV_Notify_Parent,
604 /* Private stuff */
606 #define _parent(obj) (muiNotifyData(obj)->mnd_ParentObject) /* Shortcut */
609 #endif /* _MUI_CLASSES_NOTIFY_H */
610 #endif
612 #ifndef _MUI_CLASSES_FAMILY_H
613 #ifndef _CLASSES_FAMILY_H
614 #define _CLASSES_FAMILY_H
617 Copyright © 1999, David Le Corfec.
618 Copyright © 2002-2012, The AROS Development Team.
619 All rights reserved.
621 $Id$
624 /*** Name *******************************************************************/
625 #define MUIC_Family "Family.mui"
627 /*** Identifier base (for Zune extensions) **********************************/
628 #define MUIB_Family (MUIB_ZUNE | 0x00000c00)
630 /*** Methods ****************************************************************/
631 #define MUIM_Family_AddHead (MUIB_MUI | 0x0042e200) /* MUI: V8 */
632 #define MUIM_Family_AddTail (MUIB_MUI | 0x0042d752) /* MUI: V8 */
633 #define MUIM_Family_Insert (MUIB_MUI | 0x00424d34) /* MUI: V8 */
634 #define MUIM_Family_Remove (MUIB_MUI | 0x0042f8a9) /* MUI: V8 */
635 #define MUIM_Family_Sort (MUIB_MUI | 0x00421c49) /* MUI: V8 */
636 #define MUIM_Family_Transfer (MUIB_MUI | 0x0042c14a) /* MUI: V8 */
637 #define MUIM_Family_GetChild (MUIB_MUI | 0x0042c556) /* MUI: V20 */
639 struct MUIP_Family_AddHead
641 STACKED ULONG MethodID;
642 STACKED Object *obj;
645 struct MUIP_Family_AddTail
647 STACKED ULONG MethodID;
648 STACKED Object *obj;
651 struct MUIP_Family_Insert
653 STACKED ULONG MethodID;
654 STACKED Object *obj;
655 STACKED Object *pred;
658 struct MUIP_Family_Remove
660 STACKED ULONG MethodID;
661 STACKED Object *obj;
664 struct MUIP_Family_Sort
666 STACKED ULONG MethodID;
667 STACKED Object *obj[1];
670 struct MUIP_Family_Transfer
672 STACKED ULONG MethodID;
673 STACKED Object *family;
676 struct MUIP_Family_GetChild
678 STACKED ULONG MethodID;
679 STACKED LONG nr;
680 STACKED Object *ref;
683 /*** Attributes *************************************************************/
684 #define MUIA_Family_Child \
685 (MUIB_MUI | 0x0042c696) /* MUI: V8 i.. Object * */
686 #define MUIA_Family_List \
687 (MUIB_MUI | 0x00424b9e) /* MUI: V8 ..g struct MinList * */
688 #define MUIA_Family_ChildCount \
689 (MUIB_MUI | 0x0042b25a) /* MUI: V20 ..g LONG */
691 #define MUIV_Family_GetChild_First 0
692 #define MUIV_Family_GetChild_Last -1
693 #define MUIV_Family_GetChild_Next -2
694 #define MUIV_Family_GetChild_Previous -3
697 #endif /* _CLASSES_FAMILY_H */
698 #endif
700 #ifndef _MUI_CLASSES_APPLICATION_H
702 Copyright © 1999, David Le Corfec.
703 Copyright © 2002-2003, The AROS Development Team.
704 All rights reserved.
706 $Id$
709 #ifndef _MUI_CLASSES_APPLICATION_H
710 #define _MUI_CLASSES_APPLICATION_H
712 #ifndef EXEC_SEMAPHORES_H
713 #include <exec/semaphores.h>
714 #endif
716 /*** Name *******************************************************************/
717 #define MUIC_Application "Application.mui"
719 /*** Identifier base (for Zune extensions) **********************************/
720 #define MUIB_Application (MUIB_ZUNE | 0x00000100)
722 /*** Methods ****************************************************************/
723 #define MUIM_Application_AboutMUI (MUIB_MUI|0x0042d21d) /* MUI: V14 */
724 #define MUIM_Application_AddInputHandler (MUIB_MUI|0x0042f099) /* MUI: V11 */
725 #define MUIM_Application_CheckRefresh (MUIB_MUI|0x00424d68) /* MUI: V11 */
726 #define MUIM_Application_GetMenuCheck (MUIB_MUI|0x0042c0a7) /* MUI: V4 */
727 #define MUIM_Application_GetMenuState (MUIB_MUI|0x0042a58f) /* MUI: V4 */
728 #define MUIM_Application_Input (MUIB_MUI|0x0042d0f5) /* MUI: V4 */
729 #define MUIM_Application_InputBuffered (MUIB_MUI|0x00427e59) /* MUI: V4 */
730 #define MUIM_Application_Load (MUIB_MUI|0x0042f90d) /* MUI: V4 */
731 #define MUIM_Application_NewInput (MUIB_MUI|0x00423ba6) /* MUI: V11 */
732 #define MUIM_Application_OpenConfigWindow (MUIB_MUI|0x004299ba) /* MUI: V11 */
733 #define MUIM_Application_PushMethod (MUIB_MUI|0x00429ef8) /* MUI: V4 */
734 #define MUIM_Application_RemInputHandler (MUIB_MUI|0x0042e7af) /* MUI: V11 */
735 #define MUIM_Application_ReturnID (MUIB_MUI|0x004276ef) /* MUI: V4 */
736 #define MUIM_Application_Save (MUIB_MUI|0x004227ef) /* MUI: V4 */
737 #define MUIM_Application_SetConfigItem (MUIB_MUI|0x00424a80) /* MUI: V11 */
738 #define MUIM_Application_SetMenuCheck (MUIB_MUI|0x0042a707) /* MUI: V4 */
739 #define MUIM_Application_SetMenuState (MUIB_MUI|0x00428bef) /* MUI: V4 */
740 #define MUIM_Application_ShowHelp (MUIB_MUI|0x00426479) /* MUI: V4 */
742 #define MUIM_Application_SetConfigdata (MUIB_Application | 0x00000000) /* Zune 20030407 */
743 #define MUIM_Application_OpenWindows (MUIB_Application | 0x00000001) /* Zune 20030407 */
744 #define MUIM_Application_Iconify (MUIB_Application | 0x00000002) /* Zune: V1 */
745 #define MUIM_Application_Execute (MUIB_Application | 0x00000003)
746 #define MUIM_Application_UpdateMenus (MUIB_Application | 0x00000004) /* Zune 20070712 */
748 /* Method Structures */
749 struct MUIP_Application_AboutMUI
751 STACKED ULONG MethodID;
752 STACKED Object *refwindow;
755 struct MUIP_Application_AddInputHandler
757 STACKED ULONG MethodID;
758 STACKED struct MUI_InputHandlerNode *ihnode;
761 struct MUIP_Application_CheckRefresh
763 STACKED ULONG MethodID;
766 struct MUIP_Application_GetMenuCheck
768 STACKED ULONG MethodID;
769 STACKED ULONG MenuID;
772 struct MUIP_Application_GetMenuState
774 STACKED ULONG MethodID;
775 STACKED ULONG MenuID;
778 struct MUIP_Application_Input
780 STACKED ULONG MethodID;
781 STACKED ULONG *signal;
784 struct MUIP_Application_InputBuffered
786 STACKED ULONG MethodID;
789 struct MUIP_Application_Load
791 STACKED ULONG MethodID;
792 STACKED STRPTR name;
795 struct MUIP_Application_NewInput
797 STACKED ULONG MethodID;
798 STACKED ULONG *signal;
801 struct MUIP_Application_OpenConfigWindow
803 STACKED ULONG MethodID;
804 STACKED ULONG flags;
807 struct MUIP_Application_PushMethod
809 STACKED ULONG MethodID;
810 STACKED Object *dest;
811 STACKED LONG count; /* more elements may follow */
814 struct MUIP_Application_RemInputHandler
816 STACKED ULONG MethodID;
817 STACKED struct MUI_InputHandlerNode *ihnode;
820 struct MUIP_Application_ReturnID
822 STACKED ULONG MethodID;
823 STACKED ULONG retid;
826 struct MUIP_Application_Save
828 STACKED ULONG MethodID;
829 STACKED STRPTR name;
832 struct MUIP_Application_SetConfigItem
834 STACKED ULONG MethodID;
835 STACKED ULONG item;
836 STACKED APTR data;
839 struct MUIP_Application_SetMenuCheck
841 STACKED ULONG MethodID;
842 STACKED ULONG MenuID;
843 STACKED LONG stat;
846 struct MUIP_Application_SetMenuState
848 STACKED ULONG MethodID;
849 STACKED ULONG MenuID;
850 STACKED LONG stat;
853 struct MUIP_Application_ShowHelp
855 STACKED ULONG MethodID;
856 STACKED Object *window;
857 STACKED char *name;
858 STACKED char *node;
859 STACKED LONG line;
862 struct MUIP_Application_SetConfigdata
864 STACKED ULONG MethodID;
865 STACKED APTR configdata;
868 struct MUIP_Application_OpenWindows
870 STACKED ULONG MethodID;
873 struct MUIP_Application_UpdateMenus
875 STACKED ULONG MethodID;
878 /*** Attributes *************************************************************/
879 #define MUIA_Application_Active \
880 (MUIB_MUI|0x004260ab) /* MUI: V4 isg BOOL */
881 #define MUIA_Application_Author \
882 (MUIB_MUI|0x00424842) /* MUI: V4 i.g STRPTR */
883 #define MUIA_Application_Base \
884 (MUIB_MUI|0x0042e07a) /* MUI: V4 i.g STRPTR */
885 #define MUIA_Application_Broker \
886 (MUIB_MUI|0x0042dbce) /* MUI: V4 ..g Broker * */
887 #define MUIA_Application_BrokerHook \
888 (MUIB_MUI|0x00428f4b) /* MUI: V4 isg struct Hook * */
889 #define MUIA_Application_BrokerPort \
890 (MUIB_MUI|0x0042e0ad) /* MUI: V6 ..g struct MsgPort * */
891 #define MUIA_Application_BrokerPri \
892 (MUIB_MUI|0x0042c8d0) /* MUI: V6 i.g LONG */
893 #define MUIA_Application_Commands \
894 (MUIB_MUI|0x00428648) /* MUI: V4 isg struct MUI_Command * */
895 #define MUIA_Application_Copyright \
896 (MUIB_MUI|0x0042ef4d) /* MUI: V4 i.g STRPTR */
897 #define MUIA_Application_Description \
898 (MUIB_MUI|0x00421fc6) /* MUI: V4 i.g STRPTR */
899 #define MUIA_Application_DiskObject \
900 (MUIB_MUI|0x004235cb) /* MUI: V4 isg struct DiskObject * */
901 #define MUIA_Application_DoubleStart \
902 (MUIB_MUI|0x00423bc6) /* MUI: V4 ..g BOOL */
903 #define MUIA_Application_DropObject \
904 (MUIB_MUI|0x00421266) /* MUI: V5 is. Object * */
905 #define MUIA_Application_ForceQuit \
906 (MUIB_MUI|0x004257df) /* MUI: V8 ..g BOOL */
907 #define MUIA_Application_HelpFile \
908 (MUIB_MUI|0x004293f4) /* MUI: V8 isg STRPTR */
909 #define MUIA_Application_Iconified \
910 (MUIB_MUI|0x0042a07f) /* MUI: V4 .sg BOOL */
911 #define MUIA_Application_MenuAction \
912 (MUIB_MUI|0x00428961) /* MUI: V4 ..g ULONG */
913 #define MUIA_Application_MenuHelp \
914 (MUIB_MUI|0x0042540b) /* MUI: V4 ..g ULONG */
915 #define MUIA_Application_Menustrip \
916 (MUIB_MUI|0x004252d9) /* MUI: V8 i.. Object * */
917 #define MUIA_Application_RexxHook \
918 (MUIB_MUI|0x00427c42) /* MUI: V7 isg struct Hook * */
919 #define MUIA_Application_RexxMsg \
920 (MUIB_MUI|0x0042fd88) /* MUI: V4 ..g struct RxMsg * */
921 #define MUIA_Application_RexxString \
922 (MUIB_MUI|0x0042d711) /* MUI: V4 .s. STRPTR */
923 #define MUIA_Application_SingleTask \
924 (MUIB_MUI|0x0042a2c8) /* MUI: V4 i.. BOOL */
925 #define MUIA_Application_Sleep \
926 (MUIB_MUI|0x00425711) /* MUI: V4 .s. BOOL */
927 #define MUIA_Application_Title \
928 (MUIB_MUI|0x004281b8) /* MUI: V4 i.g STRPTR */
929 #define MUIA_Application_UseCommodities \
930 (MUIB_MUI|0x00425ee5) /* MUI: V10 i.. BOOL */
931 #define MUIA_Application_UsedClasses \
932 (MUIB_MUI|0x0042e9a7) /* MUI undoc: V20 i.. STRPTR [] */
933 #define MUIA_Application_UseRexx \
934 (MUIB_MUI|0x00422387) /* MUI: V10 i.. BOOL */
935 #define MUIA_Application_SetWinPos \
936 (MUIB_MUI|0x00432387)
937 #define MUIA_Application_GetWinPos \
938 (MUIB_MUI|0x00432388)
939 #define MUIA_Application_SearchWinId \
940 (MUIB_MUI|0x00432389)
941 #define MUIA_Application_GetWinPosAddr \
942 (MUIB_MUI|0x00432390)
943 #define MUIA_Application_GetWinPosSize \
944 (MUIB_MUI|0x00432391)
945 #define MUIA_Application_CopyWinPosToApp \
946 (MUIB_MUI|0x00432392)
947 #define MAXWINS 300
949 struct windowpos
951 ULONG id;
952 WORD x1, y1, w1, h1;
953 WORD x2, y2, w2, h2;
957 [I-G] CONST_STRPTR
958 Standard DOS version string. Example: "$VER: Program 1.3 (14.11.03)".
959 Zune extension: If unspecified or NULL, it will be automatically
960 constructed from MUIA_Application_Title, MUIA_Application_Version_Number,
961 MUIA_Application_Version_Date and MUIA_Application_Version_Extra as
962 follows: "$VER: <title> <version> (<date>) [<extra>]".
964 #define MUIA_Application_Version \
965 (MUIB_MUI|0x0042b33f)
967 #define MUIA_Application_Window \
968 (MUIB_MUI|0x0042bfe0) /* MUI: V4 i.. Object * */
969 #define MUIA_Application_WindowList \
970 (MUIB_MUI|0x00429abe) /* MUI: V13 ..g struct List * */
972 #define MUIA_Application_Configdata \
973 (MUIB_Application | 0x00000000) /* Zune 20030407 .s. Object * */
976 [I-G] CONST_STRPTR
977 Version number. Examples: "1.5", "2.37.4b".
979 #define MUIA_Application_Version_Number \
980 (MUIB_Application | 0x00000001)
983 [I-G] CONST_STRPTR
984 Date information on the standard international YYYY-MM-DD format.
986 #define MUIA_Application_Version_Date \
987 (MUIB_Application | 0x00000002)
990 [I-G] CONST_STRPTR
991 Arbitrary extra version information. Example: "nightly build".
993 #define MUIA_Application_Version_Extra \
994 (MUIB_Application | 0x00000003)
997 /* MUI Obsolette tags */
998 #ifdef MUI_OBSOLETE
999 #define MUIA_Application_Menu \
1000 (MUIB_MUI | 0x00420e1f) /* MUI: V4 i.g struct NewMenu * */
1001 #endif /* MUI_OBSOLETE */
1003 /**************************************************************************
1004 Structure used ba MUIM_Application_AddInputHandler/RemInputHandler
1005 **************************************************************************/
1006 struct MUI_InputHandlerNode
1008 struct MinNode ihn_Node;
1009 Object *ihn_Object;
1010 union
1012 ULONG ihn_sigs;
1013 struct
1015 UWORD ihn_millis;
1016 UWORD ihn_current;
1017 } ihn_timer;
1019 ihn_stuff;
1020 ULONG ihn_Flags;
1021 ULONG ihn_Method;
1024 /* Easier access to the members */
1025 #define ihn_Millis ihn_stuff.ihn_timer.ihn_millis
1026 #define ihn_Current ihn_stuff.ihn_timer.ihn_current
1027 #define ihn_Signals ihn_stuff.ihn_sigs
1029 /* Flags for ihn_Flags */
1030 #define MUIIHNF_TIMER (1<<0) /* you want to be called every ihn_Millis msecs */
1032 /**************************************************************************
1033 Special values for the name field of MUIM_Application_Load/Save
1034 **************************************************************************/
1035 #define MUIV_Application_Save_ENV ((STRPTR) 0)
1036 #define MUIV_Application_Save_ENVARC ((STRPTR)~0)
1037 #define MUIV_Application_Load_ENV ((STRPTR) 0)
1038 #define MUIV_Application_Load_ENVARC ((STRPTR)~0)
1041 /**************************************************************************
1042 Special Values MUIM_Application_ReturnID. Usually program should leave
1043 the event loop if this is set
1044 **************************************************************************/
1045 #define MUIV_Application_ReturnID_Quit ((ULONG)-1)
1050 struct MUI_GlobalInfo
1052 ULONG priv0;
1053 Object *mgi_ApplicationObject;
1055 /* The following data is private only, might be extended! */
1059 #endif /* _MUI_CLASSES_APPLICATION_H */
1060 #endif
1063 /**************************************************************************
1064 Here are the possible Objecttypes for MUI_MakeObject()
1065 **************************************************************************/
1066 enum
1068 MUIO_Label = 1, /* STRPTR label, ULONG flags */
1069 MUIO_Button, /* STRPTR label */
1070 MUIO_Checkmark, /* STRPTR label */
1071 MUIO_Cycle, /* STRPTR label, STRPTR *entries */
1072 MUIO_Radio, /* STRPTR label, STRPTR *entries */
1073 MUIO_Slider, /* STRPTR label, LONG min, LONG max */
1074 MUIO_String, /* STRPTR label, LONG maxlen */
1075 MUIO_PopButton, /* STRPTR imagespec */
1076 MUIO_HSpace, /* LONG space */
1077 MUIO_VSpace, /* LONG space */
1078 MUIO_HBar, /* LONG space */
1079 MUIO_VBar, /* LONG space */
1080 MUIO_MenustripNM, /* struct NewMenu *nm, ULONG flags */
1081 MUIO_Menuitem, /* STRPTR label, STRPTR shortcut, ULONG flags, ULONG data */
1082 MUIO_BarTitle, /* STRPTR label */
1083 MUIO_NumericButton,/* STRPTR label, LONG min, LONG max, STRPTR format */
1085 MUIO_CoolButton = 111, /* STRPTR label, APTR CoolImage, ULONG flags */
1086 MUIO_ImageButton, /* CONST_STRPTR label, CONST_STRPTR imagePath */
1089 /* flag for MUIO_Menuitem */
1090 #define MUIO_Menuitem_CopyStrings (1<<30)
1092 /* flags for MUIO_Label type */
1093 #define MUIO_Label_SingleFrame (1<< 8)
1094 #define MUIO_Label_DoubleFrame (1<< 9)
1095 #define MUIO_Label_LeftAligned (1<<10)
1096 #define MUIO_Label_Centered (1<<11)
1097 #define MUIO_Label_FreeVert (1<<12)
1099 /* flag for MUIO_MenustripNM: check for "localized" menu items such
1100 * as "O\0Open" */
1101 #define MUIO_MenustripNM_CommandKeyCheck (1<<0)
1103 /* flag for MUI_CoolButton */
1104 #define MUIO_CoolButton_CoolImageID (1<<0)
1106 struct MUI_MinMax
1108 WORD MinWidth;
1109 WORD MinHeight;
1110 WORD MaxWidth;
1111 WORD MaxHeight;
1112 WORD DefWidth;
1113 WORD DefHeight;
1116 /* special maximum dimension in case it is unlimited */
1117 #define MUI_MAXMAX 10000
1119 /* Number of pens, the single definintion is below */
1120 #define MPEN_COUNT 8
1122 /* The mask for pens from MUI_ObtainPen() and a macro */
1123 #define MUIPEN_MASK 0x0000ffff
1124 #define MUIPEN(pen) ((pen) & MUIPEN_MASK)
1126 /* These cannot be enums, since they will
1127 * not be passed properly in varadic
1128 * functions by some compilers.
1130 #define MUIV_Font_Inherit ((IPTR)0)
1131 #define MUIV_Font_Normal ((IPTR)-1)
1132 #define MUIV_Font_List ((IPTR)-2)
1133 #define MUIV_Font_Tiny ((IPTR)-3)
1134 #define MUIV_Font_Fixed ((IPTR)-4)
1135 #define MUIV_Font_Title ((IPTR)-5)
1136 #define MUIV_Font_Big ((IPTR)-6)
1137 #define MUIV_Font_Button ((IPTR)-7)
1138 #define MUIV_Font_Knob ((IPTR)-8)
1139 #define MUIV_Font_NegCount ((IPTR)-9)
1141 /* Possible keyevents (user configurable) */
1142 enum
1144 MUIKEY_RELEASE = -2, /* this one is faked only, so not configurable */
1145 MUIKEY_NONE = -1,
1146 MUIKEY_PRESS = 0,
1147 MUIKEY_TOGGLE = 1,
1148 MUIKEY_UP = 2,
1149 MUIKEY_DOWN = 3,
1150 MUIKEY_PAGEUP = 4,
1151 MUIKEY_PAGEDOWN = 5,
1152 MUIKEY_TOP = 6,
1153 MUIKEY_BOTTOM = 7,
1154 MUIKEY_LEFT = 8,
1155 MUIKEY_RIGHT = 9,
1156 MUIKEY_WORDLEFT = 10,
1157 MUIKEY_WORDRIGHT = 11,
1158 MUIKEY_LINESTART = 12,
1159 MUIKEY_LINEEND = 13,
1160 MUIKEY_GADGET_NEXT = 14,
1161 MUIKEY_GADGET_PREV = 15,
1162 MUIKEY_GADGET_OFF = 16,
1163 MUIKEY_WINDOW_CLOSE = 17,
1164 MUIKEY_WINDOW_NEXT = 18,
1165 MUIKEY_WINDOW_PREV = 19,
1166 MUIKEY_HELP = 20,
1167 MUIKEY_POPUP = 21,
1168 MUIKEY_COUNT = 22
1171 /* The mask definitions of the above keys */
1172 #define MUIKEYF_PRESS (1<<MUIKEY_PRESS)
1173 #define MUIKEYF_TOGGLE (1<<MUIKEY_TOGGLE)
1174 #define MUIKEYF_UP (1<<MUIKEY_UP)
1175 #define MUIKEYF_DOWN (1<<MUIKEY_DOWN)
1176 #define MUIKEYF_PAGEUP (1<<MUIKEY_PAGEUP)
1177 #define MUIKEYF_PAGEDOWN (1<<MUIKEY_PAGEDOWN)
1178 #define MUIKEYF_TOP (1<<MUIKEY_TOP)
1179 #define MUIKEYF_BOTTOM (1<<MUIKEY_BOTTOM)
1180 #define MUIKEYF_LEFT (1<<MUIKEY_LEFT)
1181 #define MUIKEYF_RIGHT (1<<MUIKEY_RIGHT)
1182 #define MUIKEYF_WORDLEFT (1<<MUIKEY_WORDLEFT)
1183 #define MUIKEYF_WORDRIGHT (1<<MUIKEY_WORDRIGHT)
1184 #define MUIKEYF_LINESTART (1<<MUIKEY_LINESTART)
1185 #define MUIKEYF_LINEEND (1<<MUIKEY_LINEEND)
1186 #define MUIKEYF_GADGET_NEXT (1<<MUIKEY_GADGET_NEXT)
1187 #define MUIKEYF_GADGET_PREV (1<<MUIKEY_GADGET_PREV)
1188 #define MUIKEYF_GADGET_OFF (1<<MUIKEY_GADGET_OFF)
1189 #define MUIKEYF_WINDOW_CLOSE (1<<MUIKEY_WINDOW_CLOSE)
1190 #define MUIKEYF_WINDOW_NEXT (1<<MUIKEY_WINDOW_NEXT)
1191 #define MUIKEYF_WINDOW_PREV (1<<MUIKEY_WINDOW_PREV)
1192 #define MUIKEYF_HELP (1<<MUIKEY_HELP)
1193 #define MUIKEYF_POPUP (1<<MUIKEY_POPUP)
1195 struct MUI_CustomClass
1197 APTR mcc_UserData; /* freely usable */
1199 /* Zune/MUI had the following libraries opened for you */
1200 struct Library *mcc_UtilityBase;
1201 struct Library *mcc_DOSBase;
1202 struct Library *mcc_GfxBase;
1203 struct Library *mcc_IntuitionBase;
1205 struct IClass *mcc_Super; /* the boopsi class' superclass */
1206 struct IClass *mcc_Class; /* the boopsi class */
1208 /* the following stuff is private */
1210 struct Library *mcc_Module; /* non-null if external class */
1213 #undef MPEN_COUNT
1215 typedef enum {
1216 MPEN_SHINE = 0,
1217 MPEN_HALFSHINE = 1,
1218 MPEN_BACKGROUND = 2,
1219 MPEN_HALFSHADOW = 3,
1220 MPEN_SHADOW = 4,
1221 MPEN_TEXT = 5,
1222 MPEN_FILL = 6,
1223 MPEN_MARK = 7,
1224 MPEN_COUNT = 8,
1225 } MPen;
1227 typedef enum {
1228 PST_MUI = 'm',
1229 PST_CMAP = 'p',
1230 PST_RGB = 'r',
1231 PST_SYS = 's',
1232 } PenSpecType;
1234 /* MUI_PenSpec is a an ascii spec like this:
1236 "m5" (mui pen #5)
1237 "p123" (cmap entry #123)
1238 "rFFFFFFFF,00000000,00000000 (rgb #FF0000)
1239 "s3" (system pen #3)
1241 It needs to be like this, because for example nlist has
1242 default penspecs in it's source encoded like above which
1243 it directly passes to MUI_ObtainBestPen */
1245 struct MUI_PenSpec
1247 UBYTE ps_buf[32];
1251 struct MUI_FrameSpec
1253 char buf[32];
1256 struct MUI_RGBcolor
1258 ULONG red;
1259 ULONG green;
1260 ULONG blue;
1263 #ifndef _MUI_CLASSES_NOTIFY_H
1264 #endif
1266 #ifndef _MUI_CLASSES_WINDOW_H
1267 #ifndef _MUI_CLASSES_WINDOW_H
1268 #define _MUI_CLASSES_WINDOW_H
1271 Copyright 1999, David Le Corfec.
1272 Copyright 2002-2003, The AROS Development Team.
1273 All rights reserved.
1275 $Id$
1278 /*** Name *******************************************************************/
1279 #define MUIC_Window "Window.mui"
1281 /*** Identifier base (for Zune extensions) **********************************/
1282 #define MUIB_Window (MUIB_ZUNE | 0x00003600)
1284 /*** Methods ****************************************************************/
1285 #define MUIM_Window_ActionIconify \
1286 (MUIB_MUI | 0x00422cc0) /* MUI: V18 undoc */
1287 #define MUIM_Window_AddEventHandler \
1288 (MUIB_MUI | 0x004203b7) /* MUI: V16 */
1289 #define MUIM_Window_Cleanup \
1290 (MUIB_MUI | 0x0042ab26) /* MUI: V18 undoc */ /* For custom classes only */
1291 #define MUIM_Window_RemEventHandler \
1292 (MUIB_MUI | 0x0042679e) /* MUI: V16 */
1293 #define MUIM_Window_ScreenToBack \
1294 (MUIB_MUI | 0x0042913d) /* MUI: V4 */
1295 #define MUIM_Window_ScreenToFront \
1296 (MUIB_MUI | 0x004227a4) /* MUI: V4 */
1297 #define MUIM_Window_Setup \
1298 (MUIB_MUI | 0x0042c34c) /* MUI: V18 undoc */ /* For custom Classes only */
1299 #define MUIM_Window_Snapshot \
1300 (MUIB_MUI | 0x0042945e) /* MUI: V11 */
1301 #define MUIM_Window_ToBack \
1302 (MUIB_MUI | 0x0042152e) /* MUI: V4 */
1303 #define MUIM_Window_ToFront \
1304 (MUIB_MUI | 0x0042554f) /* MUI: V4 */
1306 struct MUIP_Window_ActionIconify
1308 STACKED ULONG MethodID;
1311 struct MUIP_Window_AddEventHandler
1313 STACKED ULONG MethodID;
1314 STACKED struct MUI_EventHandlerNode *ehnode;
1317 struct MUIP_Window_Cleanup
1319 STACKED ULONG MethodID;
1322 struct MUIP_Window_RemEventHandler
1324 STACKED ULONG MethodID;
1325 STACKED struct MUI_EventHandlerNode *ehnode;
1328 struct MUIP_Window_ScreenToBack
1330 STACKED ULONG MethodID;
1333 struct MUIP_Window_ScreenToFront
1335 STACKED ULONG MethodID;
1338 struct MUIP_Window_Setup
1340 STACKED ULONG MethodID;
1343 struct MUIP_Window_Snapshot
1345 STACKED ULONG MethodID;
1346 STACKED LONG flags;
1349 struct MUIP_Window_ToBack
1351 STACKED ULONG MethodID;
1354 struct MUIP_Window_ToFront
1356 STACKED ULONG MethodID;
1359 #define MUIM_Window_AllocGadgetID \
1360 (MUIB_Window | 0x00000001) /* Zune: V1 - allocate a GadgetID for
1361 * BOOPSI gadgets */
1362 #define MUIM_Window_FreeGadgetID \
1363 (MUIB_Window | 0x00000004) /* Zune: V1 - free the GadgetID for
1364 * BOOPSI gadgets */
1366 struct MUIP_Window_AddControlCharHandler
1368 STACKED ULONG MethodID;
1369 STACKED struct MUI_EventHandlerNode *ccnode;
1372 struct MUIP_Window_AllocGadgetID
1374 STACKED ULONG MethodID;
1375 }; /* Custom Class - returns the Gadget ID */
1377 struct MUIP_Window_DrawBackground
1379 STACKED ULONG MethodID;
1380 STACKED LONG left;
1381 STACKED LONG top;
1382 STACKED LONG width;
1383 STACKED LONG height;
1384 STACKED LONG xoffset;
1385 STACKED LONG yoffset;
1386 STACKED LONG flags;
1389 struct MUIP_Window_DragObject
1391 STACKED ULONG MethodID;
1392 STACKED Object *obj;
1393 STACKED LONG touchx;
1394 STACKED LONG touchy;
1395 STACKED ULONG flags;
1398 struct MUIP_Window_FreeGadgetID
1400 STACKED ULONG MethodID;
1401 STACKED LONG gadgetid;
1402 }; /* Custom Class */
1404 struct MUIP_Window_RecalcDisplay
1406 STACKED ULONG MethodID;
1407 STACKED Object *originator;
1410 struct MUIP_Window_RemControlCharHandler
1412 STACKED ULONG MethodID;
1413 STACKED struct MUI_EventHandlerNode *ccnode;
1416 struct MUIP_Window_UpdateMenu
1418 STACKED ULONG MethodID;
1421 #ifdef MUI_OBSOLETE
1422 #define MUIM_Window_GetMenuCheck (MUIB_MUI | 0x00420414) /* MUI: V4 */
1423 #define MUIM_Window_GetMenuState (MUIB_MUI | 0x00420d2f) /* MUI: V4 */
1424 #define MUIM_Window_SetCycleChain (MUIB_MUI | 0x00426510) /* MUI: V4 */
1425 #define MUIM_Window_SetMenuCheck (MUIB_MUI | 0x00422243) /* MUI: V4 */
1426 #define MUIM_Window_SetMenuState (MUIB_MUI | 0x00422b5e) /* MUI: V4 */
1428 struct MUIP_Window_GetMenuCheck
1430 STACKULONG MethodID;
1431 STACKED ULONG MenuID;
1434 struct MUIP_Window_GetMenuState
1436 STACKULONG MethodID;
1437 STACKED ULONG MenuID;
1440 struct MUIP_Window_SetCycleChain
1442 STACKULONG MethodID;
1443 STACKED Object *obj[1];
1446 struct MUIP_Window_SetMenuCheck
1448 STACKULONG MethodID;
1449 STACKED ULONG MenuID;
1450 STACKED LONG stat;
1453 struct MUIP_Window_SetMenuState
1455 STACKULONG MethodID;
1456 STACKED ULONG MenuID;
1457 STACKED LONG stat;
1459 #endif /* MUI_OBSOLETE */
1461 /*** Attributes *************************************************************/
1462 #define MUIA_Window_Activate \
1463 (MUIB_MUI | 0x00428d2f) /* MUI: V4 isg BOOL */
1464 #define MUIA_Window_ActiveObject \
1465 (MUIB_MUI | 0x00427925) /* MUI: V4 .sg Object * */
1466 #define MUIA_Window_AltHeight \
1467 (MUIB_MUI | 0x0042cce3) /* MUI: V4 i.g LONG */
1468 #define MUIA_Window_AltLeftEdge \
1469 (MUIB_MUI | 0x00422d65) /* MUI: V4 i.g LONG */
1470 #define MUIA_Window_AltTopEdge \
1471 (MUIB_MUI | 0x0042e99b) /* MUI: V4 i.g LONG */
1472 #define MUIA_Window_AltWidth \
1473 (MUIB_MUI | 0x004260f4) /* MUI: V4 i.g LONG */
1474 #define MUIA_Window_AppWindow \
1475 (MUIB_MUI | 0x004280cf) /* MUI: V5 i.. BOOL */
1476 #define MUIA_Window_Backdrop \
1477 (MUIB_MUI | 0x0042c0bb) /* MUI: V4 i.. BOOL */
1478 #define MUIA_Window_Borderless \
1479 (MUIB_MUI | 0x00429b79) /* MUI: V4 i.. BOOL */
1480 #define MUIA_Window_CloseGadget \
1481 (MUIB_MUI | 0x0042a110) /* MUI: V4 i.. BOOL */
1482 #define MUIA_Window_CloseRequest \
1483 (MUIB_MUI | 0x0042e86e) /* MUI: V4 ..g BOOL */
1484 #define MUIA_Window_DefaultObject \
1485 (MUIB_MUI | 0x004294d7) /* MUI: V4 isg Object * */
1486 #define MUIA_Window_DepthGadget \
1487 (MUIB_MUI | 0x00421923) /* MUI: V4 i.. BOOL */
1488 #define MUIA_Window_DisableKeys \
1489 (MUIB_MUI | 0x00424c36) /* MUI: V15 isg ULONG */ /* undoc */
1490 #define MUIA_Window_DragBar \
1491 (MUIB_MUI | 0x0042045d) /* MUI: V4 i.. BOOL */
1492 #define MUIA_Window_FancyDrawing \
1493 (MUIB_MUI | 0x0042bd0e) /* MUI: V8 isg BOOL */
1494 #define MUIA_Window_Height \
1495 (MUIB_MUI | 0x00425846) /* MUI: V4 i.g LONG */
1496 #define MUIA_Window_ID \
1497 (MUIB_MUI | 0x004201bd) /* MUI: V4 isg ULONG */
1498 #define MUIA_Window_InputEvent \
1499 (MUIB_MUI | 0x004247d8) /* MUI: V4 ..g struct InputEvent * */
1500 #define MUIA_Window_IsSubWindow \
1501 (MUIB_MUI | 0x0042b5aa) /* MUI: V4 isg BOOL */
1502 #define MUIA_Window_LeftEdge \
1503 (MUIB_MUI | 0x00426c65) /* MUI: V4 i.g LONG */
1504 #define MUIA_Window_MenuAction \
1505 (MUIB_MUI | 0x00427521) /* MUI: V8 isg ULONG */
1506 #define MUIA_Window_Menustrip \
1507 (MUIB_MUI | 0x0042855e) /* MUI: V8 i.g Object * */
1508 #define MUIA_Window_MouseObject \
1509 (MUIB_MUI | 0x0042bf9b) /* MUI: V10 ..g Object * */
1510 #define MUIA_Window_NeedsMouseObject \
1511 (MUIB_MUI | 0x0042372a) /* MUI: V10 i.. BOOL */
1512 #define MUIA_Window_NoMenus \
1513 (MUIB_MUI | 0x00429df5) /* MUI: V4 is. BOOL */
1514 #define MUIA_Window_Open \
1515 (MUIB_MUI | 0x00428aa0) /* MUI: V4 .sg BOOL */
1516 #define MUIA_Window_PublicScreen \
1517 (MUIB_MUI | 0x004278e4) /* MUI: V6 isg STRPTR */
1518 #define MUIA_Window_RefWindow \
1519 (MUIB_MUI | 0x004201f4) /* MUI: V4 is. Object * */
1520 #define MUIA_Window_RootObject \
1521 (MUIB_MUI | 0x0042cba5) /* MUI: V4 isg Object * */
1522 #define MUIA_Window_Screen \
1523 (MUIB_MUI | 0x0042df4f) /* MUI: V4 isg struct Screen * */
1524 #define MUIA_Window_ScreenTitle \
1525 (MUIB_MUI | 0x004234b0) /* MUI: V5 isg STRPTR */
1526 #define MUIA_Window_SizeGadget \
1527 (MUIB_MUI | 0x0042e33d) /* MUI: V4 i.. BOOL */
1528 #define MUIA_Window_SizeRight \
1529 (MUIB_MUI | 0x00424780) /* MUI: V4 i.. BOOL */
1530 #define MUIA_Window_Sleep \
1531 (MUIB_MUI | 0x0042e7db) /* MUI: V4 .sg BOOL */
1532 #define MUIA_Window_Title \
1533 (MUIB_MUI | 0x0042ad3d) /* MUI: V4 isg STRPTR */
1534 #define MUIA_Window_TopEdge \
1535 (MUIB_MUI | 0x00427c66) /* MUI: V4 i.g LONG */
1536 #define MUIA_Window_UseBottomBorderScroller \
1537 (MUIB_MUI | 0x00424e79) /* MUI: V13 isg BOOL */
1538 #define MUIA_Window_UseLeftBorderScroller \
1539 (MUIB_MUI | 0x0042433e) /* MUI: V13 isg BOOL */
1540 #define MUIA_Window_UseRightBorderScroller \
1541 (MUIB_MUI | 0x0042c05e) /* MUI: V13 isg BOOL */
1542 #define MUIA_Window_Width \
1543 (MUIB_MUI | 0x0042dcae) /* MUI: V4 i.g LONG */
1544 #define MUIA_Window_Window \
1545 (MUIB_MUI | 0x00426a42) /* MUI: V4 ..g struct Window * */
1547 #define MUIA_Window_EraseArea \
1548 (MUIB_Window | 0x00000000) /* Zune only i.. BOOL (default: TRUE) */
1549 #define MUIA_Window_ZoomGadget \
1550 (MUIB_Window | 0x00000002)
1551 #define MUIA_Window_ToolBox \
1552 (MUIB_Window | 0x00000003)
1554 #define MUIV_Window_ActiveObject_None 0
1555 #define MUIV_Window_ActiveObject_Next (-1)
1556 #define MUIV_Window_ActiveObject_Prev (-2)
1557 #define MUIV_Window_AltHeight_MinMax(p) (0-(p))
1558 #define MUIV_Window_AltHeight_Visible(p) (-100-(p))
1559 #define MUIV_Window_AltHeight_Screen(p) (-200-(p))
1560 #define MUIV_Window_AltHeight_Scaled (-1000)
1561 #define MUIV_Window_AltLeftEdge_Centered (-1)
1562 #define MUIV_Window_AltLeftEdge_Moused (-2)
1563 #define MUIV_Window_AltLeftEdge_NoChange (-1000)
1564 #define MUIV_Window_AltTopEdge_Centered (-1)
1565 #define MUIV_Window_AltTopEdge_Moused (-2)
1566 #define MUIV_Window_AltTopEdge_Delta(p) (-3-(p))
1567 #define MUIV_Window_AltTopEdge_NoChange (-1000)
1568 #define MUIV_Window_AltWidth_MinMax(p) (0-(p))
1569 #define MUIV_Window_AltWidth_Visible(p) (-100-(p))
1570 #define MUIV_Window_AltWidth_Screen(p) (-200-(p))
1571 #define MUIV_Window_AltWidth_Scaled (-1000)
1572 #define MUIV_Window_Height_MinMax(p) (0-(p))
1573 #define MUIV_Window_Height_Visible(p) (-100-(p))
1574 #define MUIV_Window_Height_Screen(p) (-200-(p))
1575 #define MUIV_Window_Height_Scaled (-1000)
1576 #define MUIV_Window_Height_Default (-1001)
1577 #define MUIV_Window_LeftEdge_Centered (-1)
1578 #define MUIV_Window_LeftEdge_Moused (-2)
1579 #define MUIV_Window_TopEdge_Centered (-1)
1580 #define MUIV_Window_TopEdge_Moused (-2)
1581 #define MUIV_Window_TopEdge_Delta(p) (-3-(p))
1582 #define MUIV_Window_Width_MinMax(p) (0-(p))
1583 #define MUIV_Window_Width_Visible(p) (-100-(p))
1584 #define MUIV_Window_Width_Screen(p) (-200-(p))
1585 #define MUIV_Window_Width_Scaled (-1000)
1586 #define MUIV_Window_Width_Default (-1001)
1588 #define MUIV_Window_Button_MUI 1
1589 #define MUIV_Window_Button_Snapshot 2
1590 #define MUIV_Window_Button_Iconify 4
1591 #define MUIV_Window_Button_Popup 8
1594 #ifdef MUI_OBSOLETE
1595 #define MUIA_Window_Menu \
1596 (MUIB_MUI | 0x0042db94) /* MUI: V4 i.. struct NewMenu * */
1598 #define MUIV_Window_Menu_NoMenu (-1)
1599 #endif /* MUI_OBSOLETE */
1601 /* Forward declaration for application opaque custom frame specification */
1602 struct dt_frame_image;
1604 /**************************************************************************
1605 Info about the display environment on which all Area Objects have a
1606 reference to it.
1607 **************************************************************************/
1609 #define MRI_RARRAY_SIZE 20
1611 struct MUI_RenderInfo
1613 Object *mri_WindowObject; /* accessable in-between
1614 * MUIM_Setup/MUIM_Cleanup */
1615 struct Screen *mri_Screen; /* accessable in-between
1616 * MUIM_Setup/MUIM_Cleanup */
1617 struct DrawInfo *mri_DrawInfo; /* accessable in-between
1618 * MUIM_Setup/MUIM_Cleanup */
1619 UWORD *mri_Pens; /* accessable in-between
1620 * MUIM_Setup/MUIM_Cleanup */
1621 struct Window *mri_Window; /* accessable in-between
1622 * MUIM_Show/MUIM_Hide */
1623 struct RastPort *mri_RastPort; /* accessable in-between
1624 * MUIM_Show/MUIM_Hide */
1625 ULONG mri_Flags; /* accessable in-between
1626 * MUIM_Setup/MUIM_Cleanup */
1628 /* the following stuff is private */
1629 struct ColorMap *mri_Colormap;
1630 UWORD mri_ScreenWidth;
1631 UWORD mri_ScreenHeight;
1632 UWORD mri_PensStorage[MPEN_COUNT]; /* storage for pens, mri_Pens points
1633 * to here */
1635 /* Opened text fonts, done by zune_get_font() */
1636 struct TextFont *mri_Fonts[-MUIV_Font_NegCount];
1638 /* this is for AddClipping/AddClipRegion */
1639 struct Region *mri_rArray[MRI_RARRAY_SIZE];
1640 int mri_rCount;
1642 struct Rectangle mri_ClipRect;
1644 UWORD mri_BorderTop; /* The height of the window's top border (title) */
1645 UWORD mri_BorderBottom; /* The height of the window's bottom bodder */
1646 UWORD mri_BorderLeft; /* The width of the window's left border */
1647 UWORD mri_BorderRight; /* The width of the window's right border */
1649 /* Stuff for Borderscrollers */
1650 Object *mri_LeftImage; /* Valid between MUIM_Setup/MUIM_Cleanup */
1651 Object *mri_RightImage;
1652 Object *mri_UpImage;
1653 Object *mri_DownImage;
1654 Object *mri_SizeImage;
1656 Object *mri_VertProp; /* Valid between MUIM_Show/MUIM_Hide */
1657 Object *mri_HorizProp;
1659 /* buffering */
1660 struct RastPort mri_BufferRP;
1661 struct BitMap *mri_BufferBM;
1663 struct dt_frame_image *mri_FrameImage[16];
1666 #define MUIMRI_RECTFILL (1<<0)
1667 #define MUIMRI_TRUECOLOR (1<<1)
1668 #define MUIMRI_THINFRAMES (1<<2)
1669 #define MUIMRI_REFRESHMODE (1<<3)
1671 /**************************************************************************
1672 MUI_EventHandlerNode as used by
1673 MUIM_Window_AddEventHandler/RemoveEventHandler
1674 **************************************************************************/
1676 struct MUI_EventHandlerNode
1678 struct MinNode ehn_Node; /* embedded node structure, private! */
1679 BYTE ehn_Reserved; /* private! */
1680 BYTE ehn_Priority; /* sorted by priority. */
1681 UWORD ehn_Flags; /* some flags, see below */
1682 Object *ehn_Object; /* object which should receive MUIM_HandleEvent. */
1683 struct IClass *ehn_Class; /* Class for CoerceMethod(). If NULL,
1684 * DoMethod() is used */
1685 ULONG ehn_Events; /* the IDCMP flags the handler should be
1686 * invoked with */
1689 /* here are the flags for ehn_Flags */
1690 #define MUI_EHF_ALWAYSKEYS (1<<0)
1691 #define MUI_EHF_GUIMODE (1<<1) /* handler will not be called if object
1692 * is not visible or disabled */
1694 /* MUIM_HandleEvent must return a bitmask where following bits can be set
1695 * (all others must be 0) */
1696 #define MUI_EventHandlerRC_Eat (1<<0) /* do not invoke more handlers ers */
1700 #endif /* _MUI_CLASSES_WINDOW_H */
1701 #endif
1703 #ifndef _MUI_CLASSES_AREA_H
1705 Copyright © 1999, David Le Corfec.
1706 Copyright © 2002 - 2012, The AROS Development Team.
1707 All rights reserved.
1709 $Id$
1712 #ifndef _MUI_CLASSES_AREA_H
1713 #define _MUI_CLASSES_AREA_H
1715 #ifndef INTUITION_INTUITION_H
1716 #include <intuition/intuition.h>
1717 #endif
1719 #ifndef GRAPHICS_GRAPHICS_H
1720 #include <graphics/gfx.h>
1721 #endif
1723 #ifndef _MUI_CLASSES_WINDOW_H
1724 #endif
1726 /*** Name *******************************************************************/
1727 #define MUIC_Area "Area.mui"
1729 /*** Identifier base (for Zune extensions) **********************************/
1730 #define MUIB_Area (MUIB_ZUNE | 0x00000200)
1732 /*** Methods ****************************************************************/
1733 #define MUIM_AskMinMax \
1734 (MUIB_MUI | 0x00423874) /* MUI: V4 */ /* For Custom Classes only */
1735 #define MUIM_Cleanup \
1736 (MUIB_MUI | 0x0042d985) /* MUI: V4 */ /* For Custom Classes only */
1737 #define MUIM_ContextMenuBuild \
1738 (MUIB_MUI | 0x00429d2e) /* MUI: V11 */
1739 #define MUIM_ContextMenuChoice \
1740 (MUIB_MUI | 0x00420f0e) /* MUI: V11 */
1741 #define MUIM_CreateBubble \
1742 (MUIB_MUI | 0x00421c41) /* MUI: V18 */
1743 #define MUIM_CreateDragImage \
1744 (MUIB_MUI | 0x0042eb6f) /* MUI: V18 */ /* For Custom Classes only, undoc */
1745 #define MUIM_CreateShortHelp \
1746 (MUIB_MUI | 0x00428e93) /* MUI: V11 */
1747 #define MUIM_CustomBackfill \
1748 (MUIB_MUI | 0x00428d73) /* Undoc */
1749 #define MUIM_DeleteBubble \
1750 (MUIB_MUI | 0x004211af) /* MUI: V18 */
1751 #define MUIM_DeleteDragImage \
1752 (MUIB_MUI | 0x00423037) /* MUI: V18 */ /* For Custom Classes only, undoc */
1753 #define MUIM_DeleteShortHelp \
1754 (MUIB_MUI | 0x0042d35a) /* MUI: V11 */
1755 #define MUIM_DoDrag \
1756 (MUIB_MUI | 0x004216bb) /* MUI: V18 */ /* For Custom Classes only, undoc */
1757 #define MUIM_DragBegin \
1758 (MUIB_MUI | 0x0042c03a) /* MUI: V11 */
1759 #define MUIM_DragDrop \
1760 (MUIB_MUI | 0x0042c555) /* MUI: V11 */
1761 #define MUIM_UnknownDropDestination \
1762 (MUIB_MUI | 0x00425550) /* ZUNE */
1763 #define MUIM_DragFinish \
1764 (MUIB_MUI | 0x004251f0) /* MUI: V11 */
1765 #define MUIM_DragQuery \
1766 (MUIB_MUI | 0x00420261) /* MUI: V11 */
1767 #define MUIM_DragReport \
1768 (MUIB_MUI | 0x0042edad) /* MUI: V11 */
1769 #define MUIM_Draw \
1770 (MUIB_MUI | 0x00426f3f) /* MUI: V4 */ /* For Custom Classes only */
1771 #define MUIM_DrawBackground \
1772 (MUIB_MUI | 0x004238ca) /* MUI: V11 */
1773 #define MUIM_GoActive \
1774 (MUIB_MUI | 0x0042491a) /* Undoc */
1775 #define MUIM_GoInactive \
1776 (MUIB_MUI | 0x00422c0c) /* Undoc */
1777 #define MUIM_HandleEvent \
1778 (MUIB_MUI | 0x00426d66) /* MUI: V16 */ /* For Custom Classes only */
1779 #define MUIM_HandleInput \
1780 (MUIB_MUI | 0x00422a1a) /* MUI: V4 */ /* For Custom Classes only */
1781 #define MUIM_Hide \
1782 (MUIB_MUI | 0x0042f20f) /* MUI: V4 */ /* For Custom Classes only */
1783 #define MUIM_Setup \
1784 (MUIB_MUI | 0x00428354) /* MUI: V4 */ /* For Custom Classes only */
1785 #define MUIM_Show \
1786 (MUIB_MUI | 0x0042cc84) /* MUI: V4 */ /* For Custom Classes only */
1788 struct MUIP_AskMinMax
1790 STACKED ULONG MethodID;
1791 STACKED struct MUI_MinMax *MinMaxInfo;
1794 struct MUIP_Cleanup
1796 STACKED ULONG MethodID;
1799 struct MUIP_ContextMenuBuild
1801 STACKED ULONG MethodID;
1802 STACKED LONG mx;
1803 STACKED LONG my;
1806 struct MUIP_ContextMenuChoice
1808 STACKED ULONG MethodID;
1809 STACKED Object *item;
1812 struct MUIP_CreateBubble
1814 STACKED ULONG MethodID;
1815 STACKED LONG x;
1816 STACKED LONG y;
1817 STACKED char *txt;
1818 STACKED ULONG flags;
1821 struct MUIP_CreateDragImage
1823 STACKED ULONG MethodID;
1824 STACKED LONG touchx;
1825 STACKED LONG touchy;
1826 STACKED ULONG flags;
1829 struct MUIP_CreateShortHelp
1831 STACKED ULONG MethodID;
1832 STACKED LONG mx;
1833 STACKED LONG my;
1836 struct MUIP_CustomBackfill
1838 STACKED ULONG MethodID;
1839 STACKED LONG left;
1840 STACKED LONG top;
1841 STACKED LONG right;
1842 STACKED LONG bottom;
1843 STACKED LONG xoffset;
1844 STACKED LONG yoffset;
1847 struct MUIP_DeleteBubble
1849 STACKED ULONG MethodID;
1850 STACKED APTR bubble;
1853 struct MUIP_DeleteDragImage
1855 STACKED ULONG MethodID;
1856 STACKED struct MUI_DragImage *di;
1859 struct MUIP_DeleteShortHelp
1861 STACKED ULONG MethodID;
1862 STACKED STRPTR help;
1865 struct MUIP_DoDrag
1867 STACKED ULONG MethodID;
1868 STACKED LONG touchx;
1869 STACKED LONG touchy;
1870 STACKED ULONG flags;
1873 struct MUIP_UnknownDropDestination
1875 STACKED ULONG MethodID;
1876 STACKED struct IntuiMessage *imsg;
1879 struct MUIP_DragBegin
1881 STACKED ULONG MethodID;
1882 STACKED Object *obj;
1885 struct MUIP_DragDrop
1887 STACKED ULONG MethodID;
1888 STACKED Object *obj;
1889 STACKED LONG x;
1890 STACKED LONG y;
1893 struct MUIP_DragFinish
1895 STACKED ULONG MethodID;
1896 STACKED Object *obj;
1899 struct MUIP_DragQuery
1901 STACKED ULONG MethodID;
1902 STACKED Object *obj;
1905 struct MUIP_DragReport
1907 STACKED ULONG MethodID;
1908 STACKED Object *obj;
1909 STACKED LONG x;
1910 STACKED LONG y;
1911 STACKED LONG update;
1914 struct MUIP_Draw
1916 STACKED ULONG MethodID;
1917 STACKED ULONG flags;
1920 struct MUIP_DrawBackground
1922 STACKED ULONG MethodID;
1923 STACKED LONG left;
1924 STACKED LONG top;
1925 STACKED LONG width;
1926 STACKED LONG height;
1927 STACKED LONG xoffset;
1928 STACKED LONG yoffset;
1929 STACKED LONG flags;
1932 struct MUIP_DrawBackgroundBuffered
1934 STACKED ULONG MethodID;
1935 STACKED struct RastPort *rp;
1936 STACKED LONG left;
1937 STACKED LONG top;
1938 STACKED LONG width;
1939 STACKED LONG height;
1940 STACKED LONG xoffset;
1941 STACKED LONG yoffset;
1942 STACKED LONG flags;
1945 struct MUIP_GoActive
1947 STACKED ULONG MethodID;
1950 struct MUIP_GoInacrive
1952 STACKED ULONG MethodID;
1955 struct MUIP_HandleEvent
1957 STACKED ULONG MethodID;
1958 STACKED struct IntuiMessage *imsg;
1959 STACKED LONG muikey;
1962 struct MUIP_HandleInput
1964 STACKED ULONG MethodID;
1965 STACKED struct IntuiMessage *imsg;
1966 STACKED LONG muikey;
1969 struct MUIP_Hide
1971 STACKED ULONG MethodID;
1974 struct MUIP_Setup
1976 STACKED ULONG MethodID;
1977 STACKED struct MUI_RenderInfo *RenderInfo;
1980 struct MUIP_Show
1982 STACKED ULONG MethodID;
1985 #define MUIM_Layout \
1986 (MUIB_Area | 0x00000000)
1987 #define MUIM_DrawParentBackground \
1988 (MUIB_Area | 0x00000001)
1990 struct MUIP_Layout
1992 STACKED ULONG MethodID;
1995 struct MUIP_DrawParentBackground
1997 STACKED ULONG MethodID;
1998 STACKED LONG left;
1999 STACKED LONG top;
2000 STACKED LONG width;
2001 STACKED LONG height;
2002 STACKED LONG xoffset;
2003 STACKED LONG yoffset;
2004 STACKED LONG flags;
2011 struct MUI_DragImage
2013 struct BitMap *bm;
2014 WORD width; /* exact width and height of bitmap */
2015 WORD height;
2016 WORD touchx; /* position of pointer click relative to bitmap */
2017 WORD touchy;
2018 ULONG flags;
2021 // #define MUIF_DRAGIMAGE_HASMASK (1<<0) /* Use provided mask for drawing */
2022 /* Not supported at the moment */
2023 #define MUIF_DRAGIMAGE_SOURCEALPHA (1<<1) /* Use drag image source alpha
2024 * information for transparent
2025 * drawing */
2027 /*** Attributes *************************************************************/
2028 #define MUIA_Background \
2029 (MUIB_MUI | 0x0042545b) /* MUI: V4 is. LONG */
2030 #define MUIA_BottomEdge \
2031 (MUIB_MUI | 0x0042e552) /* MUI: V4 ..g LONG */
2032 #define MUIA_ContextMenu \
2033 (MUIB_MUI | 0x0042b704) /* MUI: V11 isg Object * */
2034 #define MUIA_ContextMenuTrigger \
2035 (MUIB_MUI | 0x0042a2c1) /* MUI: V11 ..g Object * */
2036 #define MUIA_ControlChar \
2037 (MUIB_MUI | 0x0042120b) /* MUI: V4 isg char */
2038 #define MUIA_CustomBackfill \
2039 (MUIB_MUI | 0x00420a63) /* undoc i.. */
2040 #define MUIA_CycleChain \
2041 (MUIB_MUI | 0x00421ce7) /* MUI: V11 isg LONG */
2042 #define MUIA_Disabled \
2043 (MUIB_MUI | 0x00423661) /* MUI: V4 isg BOOL */
2044 #define MUIA_DoubleBuffer \
2045 (MUIB_MUI | 0x0042a9c7) /* MUI: V20 isg BOOL */
2046 #define MUIA_Draggable \
2047 (MUIB_MUI | 0x00420b6e) /* MUI: V11 isg BOOL */
2048 #define MUIA_Dropable \
2049 (MUIB_MUI | 0x0042fbce) /* MUI: V11 isg BOOL */
2050 #define MUIA_FillArea \
2051 (MUIB_MUI | 0x004294a3) /* MUI: V4 is. BOOL */
2052 #define MUIA_FixHeight \
2053 (MUIB_MUI | 0x0042a92b) /* MUI: V4 i.. LONG */
2054 #define MUIA_FixHeightTxt \
2055 (MUIB_MUI | 0x004276f2) /* MUI: V4 i.. STRPTR */
2056 #define MUIA_FixWidth \
2057 (MUIB_MUI | 0x0042a3f1) /* MUI: V4 i.. LONG */
2058 #define MUIA_FixWidthTxt \
2059 (MUIB_MUI | 0x0042d044) /* MUI: V4 i.. STRPTR */
2060 #define MUIA_Font \
2061 (MUIB_MUI | 0x0042be50) /* MUI: V4 i.g struct TextFont * */
2062 #define MUIA_Frame \
2063 (MUIB_MUI | 0x0042ac64) /* MUI: V4 i.. LONG */
2064 #define MUIA_FramePhantomHoriz \
2065 (MUIB_MUI | 0x0042ed76) /* MUI: V4 i.. BOOL */
2066 #define MUIA_FrameTitle \
2067 (MUIB_MUI | 0x0042d1c7) /* MUI: V4 i.. STRPTR */
2068 #define MUIA_Height \
2069 (MUIB_MUI | 0x00423237) /* MUI: V4 ..g LONG */
2070 #define MUIA_HorizDisappear \
2071 (MUIB_MUI | 0x00429615) /* MUI: V11 isg LONG */
2072 #define MUIA_HorizWeight \
2073 (MUIB_MUI | 0x00426db9) /* MUI: V4 isg WORD */
2074 #define MUIA_InnerBottom \
2075 (MUIB_MUI | 0x0042f2c0) /* MUI: V4 i.g LONG */
2076 #define MUIA_InnerLeft \
2077 (MUIB_MUI | 0x004228f8) /* MUI: V4 i.g LONG */
2078 #define MUIA_InnerRight \
2079 (MUIB_MUI | 0x004297ff) /* MUI: V4 i.g LONG */
2080 #define MUIA_InnerTop \
2081 (MUIB_MUI | 0x00421eb6) /* MUI: V4 i.g LONG */
2082 #define MUIA_InputMode \
2083 (MUIB_MUI | 0x0042fb04) /* MUI: V4 i.. LONG */
2084 #define MUIA_LeftEdge \
2085 (MUIB_MUI | 0x0042bec6) /* MUI: V4 ..g LONG */
2086 #define MUIA_MaxHeight \
2087 (MUIB_MUI | 0x004293e4) /* MUI: V11 i.. LONG */
2088 #define MUIA_MaxWidth \
2089 (MUIB_MUI | 0x0042f112) /* MUI: V11 i.. LONG */
2090 #define MUIA_Pressed \
2091 (MUIB_MUI | 0x00423535) /* MUI: V4 ..g BOOL */
2092 #define MUIA_RightEdge \
2093 (MUIB_MUI | 0x0042ba82) /* MUI: V4 ..g LONG */
2094 #define MUIA_Selected \
2095 (MUIB_MUI | 0x0042654b) /* MUI: V4 isg BOOL */
2096 #define MUIA_ShortHelp \
2097 (MUIB_MUI | 0x00428fe3) /* MUI: V11 isg STRPTR */
2098 #define MUIA_ShowMe \
2099 (MUIB_MUI | 0x00429ba8) /* MUI: V4 isg BOOL */
2100 #define MUIA_ShowSelState \
2101 (MUIB_MUI | 0x0042caac) /* MUI: V4 i.. BOOL */
2102 #define MUIA_Timer \
2103 (MUIB_MUI | 0x00426435) /* MUI: V4 ..g LONG */
2104 #define MUIA_TopEdge \
2105 (MUIB_MUI | 0x0042509b) /* MUI: V4 ..g LONG */
2106 #define MUIA_VertDisappear \
2107 (MUIB_MUI | 0x0042d12f) /* MUI: V11 isg LONG */
2108 #define MUIA_VertWeight \
2109 (MUIB_MUI | 0x004298d0) /* MUI: V4 isg WORD */
2110 #define MUIA_Weight \
2111 (MUIB_MUI | 0x00421d1f) /* MUI: V4 i.. WORD */
2112 #define MUIA_Width \
2113 (MUIB_MUI | 0x0042b59c) /* MUI: V4 ..g LONG */
2114 #define MUIA_Window \
2115 (MUIB_MUI | 0x00421591) /* MUI: V4 ..g struct Window * */
2116 #define MUIA_WindowObject \
2117 (MUIB_MUI | 0x0042669e) /* MUI: V4 ..g Object * */
2119 #define MUIA_NestedDisabled \
2120 (MUIB_Area | 0x00000000) /* Zune 20030530 isg BOOL */
2122 #ifdef MUI_OBSOLETE
2123 #define MUIA_ExportID (MUIB_MUI | 0x0042d76e) /* V4 isg ULONG */
2124 #endif /* MUI_OBSOLETE */
2126 struct MUI_ImageSpec_intern;
2128 struct MUI_AreaData
2130 struct MUI_RenderInfo *mad_RenderInfo; /* RenderInfo for this object */
2131 struct MUI_ImageSpec_intern *mad_Background; /* bg setting - *private* ! */
2132 struct TextFont *mad_Font; /* Font which is used to draw */
2133 struct MUI_MinMax mad_MinMax; /* min/max/default dimensions */
2134 struct IBox mad_Box; /* coordinates and dim of this object after layout */
2135 BYTE mad_addleft; /* left offset (frame & innerspacing) */
2136 BYTE mad_addtop; /* top offset (frame & innerspacing) */
2137 BYTE mad_subwidth; /* additional width (frame & innerspacing) */
2138 BYTE mad_subheight; /* additional height (frame & innerspacing) */
2139 ULONG mad_Flags; /* some flags; see below */
2140 ULONG mad_Flags2;
2141 // 40 bytes up to here
2143 /* The following data is private */
2144 // offset 40
2145 UWORD mad_HorizWeight; /* weight values for layout. default 100 */
2146 UWORD mad_VertWeight;
2147 // offset 44
2148 // ?
2149 // offset 48
2150 ULONG mad_IDCMP; /* IDCMP flags this listens to (for HandleInput) */
2151 // offset 52
2152 CONST_STRPTR mad_BackgroundSpec;
2153 // offset 56
2154 IPTR mad_FontPreset; /* MUIV_Font_xxx or pointer to struct TextFont */
2155 // offset 76
2156 CONST_STRPTR mad_FrameTitle; /* for groups. Req. mad_Frame > 0 */
2157 // Inner values at offset 88 in MUI:
2158 BYTE mad_InnerLeft; /* frame or hardcoded */
2159 BYTE mad_InnerTop;
2160 BYTE mad_InnerRight;
2161 BYTE mad_InnerBottom;
2162 // offset 94
2163 BYTE mad_FrameOBSOLETE; /* frame setting -- private */
2164 // offset 95
2165 BYTE mad_InputMode; /* how to react to events */
2166 // offset 96
2167 TEXT mad_ControlChar; /* key shortcut */
2168 BYTE mad_TitleHeightAdd; /* frame title height = mad_TitleBelow + mad_TitleBaseline */
2169 BYTE mad_TitleHeightBelow; /* height below frame */
2170 BYTE mad_TitleHeightAbove; /* height above frame */
2171 // 100
2172 // ?
2173 IPTR mad_Frame;
2174 WORD mad_HardHeight; /* if harcoded dim (see flags) */
2175 WORD mad_HardWidth; /* if harcoded dim (see flags) */
2176 CONST_STRPTR mad_HardWidthTxt;
2177 CONST_STRPTR mad_HardHeightTxt;
2178 // TODO: move SelBack in RenderInfo as it's common for all objects
2179 struct MUI_ImageSpec_intern *mad_SelBack; /* selected state background */
2180 CONST_STRPTR mad_ShortHelp; /* bubble help */
2181 // there's an event handler at 114
2182 struct MUI_EventHandlerNode mad_ehn;
2183 struct MUI_InputHandlerNode mad_Timer; /* MUIA_Timer */
2184 ULONG mad_Timeval; /* just to trigger notifications */
2185 struct MUI_EventHandlerNode mad_ccn; /* gross hack for control char */
2186 Object *mad_ContextMenu; /* menu strip */
2187 LONG mad_ClickX; /* x position of the initial SELECTDOWN click */
2188 LONG mad_ClickY; /* y position of the intiial SELECTDOWN click */
2189 struct ZMenu *mad_ContextZMenu;
2190 struct MUI_EventHandlerNode mad_hiehn; /* Eventhandler to simulate MUIM_HandleInput */
2192 LONG mad_DisableCount; /* counts number of disables */
2193 // only 148 bytes for the struct in MUI !
2196 /* Flags during MUIM_Draw */
2197 #define MADF_DRAWOBJECT (1<< 0) /* draw object completely */
2198 #define MADF_DRAWUPDATE (1<< 1) /* update object */
2200 #define MADF_DRAWALL (1<< 31)
2203 /* mad_Flags, private one */
2206 #define MADF_DRAWFLAGS (MADF_DRAWOBJECT | MADF_DRAWUPDATE | MADF_DRAW_XXX \
2207 | MADF_DRAWFRAME | MADF_DRAW_XXX_2 | MADF_DRAWALL)
2210 // offset 94 (byte) (frame << 1) (lsb is SETUP_DONE flag)
2211 enum
2213 MUIV_Frame_None = 0,
2214 MUIV_Frame_Button,
2215 MUIV_Frame_ImageButton,
2216 MUIV_Frame_Text,
2217 MUIV_Frame_String,
2218 MUIV_Frame_ReadList,
2219 MUIV_Frame_InputList,
2220 MUIV_Frame_Prop,
2221 MUIV_Frame_Gauge,
2222 MUIV_Frame_Group,
2223 MUIV_Frame_PopUp,
2224 MUIV_Frame_Virtual,
2225 MUIV_Frame_Slider,
2226 MUIV_Frame_Knob,
2227 MUIV_Frame_Drag,
2228 MUIV_Frame_Count,
2229 MUIV_Frame_Register = 21,
2232 // offset 95
2233 enum
2235 MUIV_InputMode_None = 0, // 0x00
2236 MUIV_InputMode_RelVerify, // 0x40 (1<<6)
2237 MUIV_InputMode_Immediate, // 0x80 (1<<7)
2238 MUIV_InputMode_Toggle, // 0xc0 (1<<7 | 1<<6)
2243 enum
2245 MUIV_DragQuery_Refuse = 0,
2246 MUIV_DragQuery_Accept,
2249 enum
2251 MUIV_DragReport_Abort = 0,
2252 MUIV_DragReport_Continue,
2253 MUIV_DragReport_Lock,
2254 MUIV_DragReport_Refresh,
2257 #define MUIV_CreateBubble_DontHidePointer (1<<0)
2259 /* A private functions and macros */
2261 /*#define DRAW_BG_RECURSIVE (1<<1)*/
2264 #endif /* _MUI_CLASSES_AREA_H */
2265 #endif
2267 #ifndef _MUI_CLASSES_GROUP_H
2268 #ifndef _MUI_CLASSES_GROUP_H
2269 #define _MUI_CLASSES_GROUP_H
2272 Copyright © 1999, David Le Corfec.
2273 Copyright © 2002-2012, The AROS Development Team.
2274 All rights reserved.
2276 $Id$
2279 /*** Name *******************************************************************/
2280 #define MUIC_Group "Group.mui"
2282 /*** Identifier base (for Zune extensions) **********************************/
2283 #define MUIB_Group (MUIB_ZUNE | 0x00001000)
2285 /*** Methods ****************************************************************/
2286 #define MUIM_Group_AddHead (MUIB_MUI | 0x0042e200) /* MUI: V8 */
2287 #define MUIM_Group_AddTail (MUIB_MUI | 0x0042d752) /* MUI: V8 */
2288 #define MUIM_Group_ExitChange (MUIB_MUI | 0x0042d1cc) /* MUI: V11 */
2289 #define MUIM_Group_InitChange (MUIB_MUI | 0x00420887) /* MUI: V11 */
2290 #define MUIM_Group_Sort (MUIB_MUI | 0x00427417) /* MUI: V4 */
2291 #define MUIM_Group_Remove (MUIB_MUI | 0x0042f8a9) /* MUI: V8 */
2293 struct MUIP_Group_AddHead
2295 STACKED ULONG MethodID;
2296 STACKED Object *obj;
2299 struct MUIP_Group_AddTail
2301 STACKED ULONG MethodID;
2302 STACKED Object *obj;
2305 struct MUIP_Group_ExitChange
2307 STACKED ULONG MethodID;
2311 struct MUIP_Group_InitChange
2313 STACKED ULONG MethodID;
2316 struct MUIP_Group_Sort
2318 STACKED ULONG MethodID;
2319 STACKED Object *obj[1];
2322 struct MUIP_Group_Remove
2324 STACKED ULONG MethodID;
2325 STACKED Object *obj;
2328 #define MUIM_Group_DoMethodNoForward (MUIB_Group | 0x00000000)
2329 struct MUIP_Group_DoMethodNoForward
2331 STACKED ULONG MethodID;
2332 STACKED ULONG DoMethodID;
2333 }; /* msg stuff follows */
2335 /*** Attributes *************************************************************/
2336 #define MUIA_Group_ActivePage \
2337 (MUIB_MUI | 0x00424199) /* MUI: V5 isg LONG */
2338 #define MUIA_Group_Child \
2339 (MUIB_MUI | 0x004226e6) /* MUI: V4 i.. Object * */
2340 #define MUIA_Group_ChildList \
2341 (MUIB_MUI | 0x00424748) /* MUI: V4 ..g struct List * */
2342 #define MUIA_Group_Columns \
2343 (MUIB_MUI | 0x0042f416) /* MUI: V4 is. LONG */
2344 #define MUIA_Group_Forward \
2345 (MUIB_MUI | 0x00421422) /* MUI: V11 .s. BOOL */
2346 #define MUIA_Group_Horiz \
2347 (MUIB_MUI | 0x0042536b) /* MUI: V4 i.. BOOL */
2348 #define MUIA_Group_HorizSpacing \
2349 (MUIB_MUI | 0x0042c651) /* MUI: V4 isg LONG */
2350 #define MUIA_Group_LayoutHook \
2351 (MUIB_MUI | 0x0042c3b2) /* MUI: V11 i.. struct Hook * */
2352 #define MUIA_Group_PageMode \
2353 (MUIB_MUI | 0x00421a5f) /* MUI: V5 i.. BOOL */
2354 #define MUIA_Group_Rows \
2355 (MUIB_MUI | 0x0042b68f) /* MUI: V4 is. LONG */
2356 #define MUIA_Group_SameHeight \
2357 (MUIB_MUI | 0x0042037e) /* MUI: V4 i.. BOOL */
2358 #define MUIA_Group_SameSize \
2359 (MUIB_MUI | 0x00420860) /* MUI: V4 i.. BOOL */
2360 #define MUIA_Group_SameWidth \
2361 (MUIB_MUI | 0x0042b3ec) /* MUI: V4 i.. BOOL */
2362 #define MUIA_Group_Spacing \
2363 (MUIB_MUI | 0x0042866d) /* MUI: V4 is. LONG */
2364 #define MUIA_Group_VertSpacing \
2365 (MUIB_MUI | 0x0042e1bf) /* MUI: V4 isg LONG */
2367 #define MUIA_Group_Virtual \
2368 (MUIB_Group | 0x00000000) /* Zune: V1 i.. BOOL */
2370 enum
2372 MUIV_Group_ActivePage_First = 0,
2373 MUIV_Group_ActivePage_Last = -1,
2374 MUIV_Group_ActivePage_Prev = -2,
2375 MUIV_Group_ActivePage_Next = -3,
2376 MUIV_Group_ActivePage_Advance = -4,
2379 /* This is the message you get if your custom layout hook is called */
2380 struct MUI_LayoutMsg
2382 STACKED ULONG lm_Type; /* the message type */
2383 STACKED struct MinList *lm_Children; /* exec list of the children
2384 * of this group */
2385 STACKED struct MUI_MinMax lm_MinMax; /* here you have to place the
2386 * MUILM_MINMAX results */
2387 struct
2389 STACKED LONG Width;
2390 STACKED LONG Height;
2391 STACKED ULONG priv5;
2392 STACKED ULONG priv6;
2393 } lm_Layout; /* size (and result) for MUILM_LAYOUT */
2396 /* lm_Type */
2397 enum
2399 MUILM_MINMAX = 1, /* Please calc your min & max sizes */
2400 MUILM_LAYOUT = 2, /* Please layout your children */
2403 #define MUILM_UNKNOWN -1 /* should be returned if the hook function
2404 * doesn't understand lm_Type */
2408 #endif /* _MUI_CLASSES_GROUP_H */
2409 #endif
2411 #ifndef _MUI_CLASSES_RECTANGLE_H
2412 #ifndef _MUI_CLASSES_RECTANGLE_H
2413 #define _MUI_CLASSES_RECTANGLE_H
2416 Copyright © 1999, David Le Corfec.
2417 Copyright © 2002-2003, The AROS Development Team.
2418 All rights reserved.
2420 $Id$
2423 /*** Name *******************************************************************/
2424 #define MUIC_Rectangle "Rectangle.mui"
2426 /*** Identifier base (for Zune extensions) **********************************/
2427 #define MUIB_Rectangle (MUIB_ZUNE | 0x00002b00)
2429 /*** Attributes *************************************************************/
2430 #define MUIA_Rectangle_BarTitle (MUIB_MUI | 0x00426689) /* V11 i.g STRPTR */
2431 #define MUIA_Rectangle_HBar (MUIB_MUI | 0x0042c943) /* V7 i.g BOOL */
2432 #define MUIA_Rectangle_VBar (MUIB_MUI | 0x00422204) /* V7 i.g BOOL */
2435 #endif /* _MUI_CLASSES_RECTANGLE_H */
2436 #endif
2438 #ifndef _MUI_CLASSES_TEXT_H
2439 #ifndef _MUI_CLASSES_TEXT_H
2440 #define _MUI_CLASSES_TEXT_H
2443 Copyright © 1999, David Le Corfec.
2444 Copyright © 2002-2003, The AROS Development Team.
2445 All rights reserved.
2447 $Id$
2450 /*** Name *******************************************************************/
2451 #define MUIC_Text "Text.mui"
2453 /*** Identifier base (for Zune extensions) **********************************/
2454 #define MUIB_Text (MUIB_ZUNE | 0x00003500)
2456 /*** Attributes *************************************************************/
2457 #define MUIA_Text_Contents \
2458 (MUIB_MUI | 0x0042f8dc) /* MUI: V4 isg STRPTR */
2459 #define MUIA_Text_HiChar \
2460 (MUIB_MUI | 0x004218ff) /* MUI: V4 i.. char */
2461 #define MUIA_Text_HiCharIdx \
2462 (MUIB_MUI | 0x004214f5) /* i.. char */
2463 #define MUIA_Text_PreParse \
2464 (MUIB_MUI | 0x0042566d) /* MUI: V4 isg STRPTR */
2465 #define MUIA_Text_SetMax \
2466 (MUIB_MUI | 0x00424d0a) /* MUI: V4 i.. BOOL */
2467 #define MUIA_Text_SetMin \
2468 (MUIB_MUI | 0x00424e10) /* MUI: V4 i.. BOOL */
2469 #define MUIA_Text_SetVMax \
2470 (MUIB_MUI | 0x00420d8b) /* MUI: V11 i.. BOOL */
2472 #define MUIA_Text_Editable \
2473 (MUIB_Text | 0x00000000) /* DEPRECATED */
2474 #define MUIA_Text_Multiline \
2475 (MUIB_Text | 0x00000001) /* DEPRECATED */
2477 /* Codes which can be used in text strings */
2478 #define MUIX_L "\033l" /* justify left */
2479 #define MUIX_C "\033c" /* justify centered */
2480 #define MUIX_R "\033r" /* justify right */
2482 #define MUIX_N "\033n" /* normal style */
2483 #define MUIX_B "\033b" /* bold style */
2484 #define MUIX_I "\033i" /* italic style */
2485 #define MUIX_U "\033u" /* underlined style */
2487 #define MUIX_PT "\0332" /* use text pen */
2488 #define MUIX_PH "\0338" /* use highlight text pen */
2492 #endif /* _MUI_CLASSES_TEXT_H */
2493 #endif
2495 #ifndef _MUI_CLASSES_NUMERIC_H
2496 #ifndef _MUI_CLASSES_NUMERIC_H
2497 #define _MUI_CLASSES_NUMERIC_H
2500 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2501 $Id$
2504 /*** Name *******************************************************************/
2505 #define MUIC_Numeric "Numeric.mui"
2507 /*** Identifier base (for Zune extensions) **********************************/
2508 #define MUIB_Numeric (MUIB_ZUNE | 0x00001e00)
2510 /*** Methods ****************************************************************/
2511 #define MUIM_Numeric_Decrease (MUIB_MUI | 0x004243a7) /* MUI: V11 */
2512 #define MUIM_Numeric_Increase (MUIB_MUI | 0x00426ecd) /* MUI: V11 */
2513 #define MUIM_Numeric_ScaleToValue (MUIB_MUI | 0x0042032c) /* MUI: V11 */
2514 #define MUIM_Numeric_SetDefault (MUIB_MUI | 0x0042ab0a) /* MUI: V11 */
2515 #define MUIM_Numeric_Stringify (MUIB_MUI | 0x00424891) /* MUI: V11 */
2516 #define MUIM_Numeric_ValueToScale (MUIB_MUI | 0x00423e4f) /* MUI: V11 */
2518 struct MUIP_Numeric_Decrease
2520 STACKED ULONG MethodID;
2521 STACKED LONG amount;
2524 struct MUIP_Numeric_Increase
2526 STACKED ULONG MethodID;
2527 STACKED LONG amount;
2530 struct MUIP_Numeric_ScaleToValue
2532 STACKED ULONG MethodID;
2533 STACKED LONG scalemin;
2534 STACKED LONG scalemax;
2535 STACKED LONG scale;
2538 struct MUIP_Numeric_SetDefault
2540 STACKED ULONG MethodID;
2543 struct MUIP_Numeric_Stringify
2545 STACKED ULONG MethodID;
2546 STACKED LONG value;
2549 struct MUIP_Numeric_ValueToScale
2551 STACKED ULONG MethodID;
2552 STACKED LONG scalemin;
2553 STACKED LONG scalemax;
2556 /*** Attributes *************************************************************/
2557 #define MUIA_Numeric_CheckAllSizes \
2558 (MUIB_MUI | 0x00421594) /* MUI: V11 isg BOOL */
2559 #define MUIA_Numeric_Default \
2560 (MUIB_MUI | 0x004263e8) /* MUI: V11 isg LONG */
2561 #define MUIA_Numeric_Format \
2562 (MUIB_MUI | 0x004263e9) /* MUI: V11 isg STRPTR */
2563 #define MUIA_Numeric_Max \
2564 (MUIB_MUI | 0x0042d78a) /* MUI: V11 isg LONG */
2565 #define MUIA_Numeric_Min \
2566 (MUIB_MUI | 0x0042e404) /* MUI: V11 isg LONG */
2567 #define MUIA_Numeric_Reverse \
2568 (MUIB_MUI | 0x0042f2a0) /* MUI: V11 isg BOOL */
2569 #define MUIA_Numeric_RevLeftRight \
2570 (MUIB_MUI | 0x004294a7) /* MUI: V11 isg BOOL */
2571 #define MUIA_Numeric_RevUpDown \
2572 (MUIB_MUI | 0x004252dd) /* MUI: V11 isg BOOL */
2573 #define MUIA_Numeric_Value \
2574 (MUIB_MUI | 0x0042ae3a) /* MUI: V11 isg LONG */
2576 #define MUIM_Numeric_ValueToScaleExt MUIB_Numeric /* ZUNE only */
2578 struct MUIP_Numeric_ValueToScaleExt
2580 STACKED ULONG MethodID;
2581 STACKED LONG value;
2582 STACKED LONG scalemin;
2583 STACKED LONG scalemax;
2587 #endif /* _MUI_CLASSES_NUMERIC_H */
2588 #endif
2590 #ifndef _MUI_CLASSES_SLIDER_H
2591 #ifndef _MUI_CLASSES_SLIDER_H
2592 #define _MUI_CLASSES_SLIDER_H
2595 Copyright © 1999, David Le Corfec.
2596 Copyright © 2002-2003, The AROS Development Team.
2597 All rights reserved.
2599 $Id$
2602 /*** Name *******************************************************************/
2603 #define MUIC_Slider "Slider.mui"
2605 /*** Identifier base (for Zune extensions) **********************************/
2606 #define MUIB_Slider (MUIB_ZUNE | 0x00003300)
2608 /*** Attributes *************************************************************/
2609 #define MUIA_Slider_Horiz (MUIB_MUI | 0x0042fad1) /* V11 isg BOOL */
2610 #define MUIA_Slider_Quiet (MUIB_MUI | 0x00420b26) /* V6 i.. BOOL */
2612 #ifdef MUI_OBSOLETE
2613 #define MUIA_Slider_Level (MUIB_MUI | 0x0042ae3a) /* V4 isg LONG */
2614 #define MUIA_Slider_Max (MUIB_MUI | 0x0042d78a) /* V4 isg LONG */
2615 #define MUIA_Slider_Min (MUIB_MUI | 0x0042e404) /* V4 isg LONG */
2616 #define MUIA_Slider_Reverse (MUIB_MUI | 0x0042f2a0) /* V4 isg BOOL */
2617 #endif /* MUI_OBSOLETE */
2621 #endif /* _MUI_CLASSES_SLIDER_H */
2622 #endif
2624 #ifndef _MUI_CLASSES_STRING_H
2625 #ifndef _MUI_CLASSES_STRING_H
2626 #define _MUI_CLASSES_STRING_H
2629 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2630 $Id$
2633 /*** Name *******************************************************************/
2634 #define MUIC_String "String.mui"
2636 /*** Identifier base (for Zune extensions) **********************************/
2637 #define MUIB_String (MUIB_ZUNE | 0x00003400)
2639 /*** Attributes *************************************************************/
2640 #define MUIA_String_Accept \
2641 (MUIB_MUI | 0x0042e3e1) /* V4 isg STRPTR */
2642 #define MUIA_String_Acknowledge \
2643 (MUIB_MUI | 0x0042026c) /* V4 ..g STRPTR */
2644 #define MUIA_String_AdvanceOnCR \
2645 (MUIB_MUI | 0x004226de) /* V11 isg BOOL */
2646 #define MUIA_String_AttachedList \
2647 (MUIB_MUI | 0x00420fd2) /* V4 isg Object * */
2648 #define MUIA_String_BufferPos \
2649 (MUIB_MUI | 0x00428b6c) /* V4 .sg LONG */
2650 #define MUIA_String_Contents \
2651 (MUIB_MUI | 0x00428ffd) /* V4 isg STRPTR */
2652 #define MUIA_String_DisplayPos \
2653 (MUIB_MUI | 0x0042ccbf) /* V4 .sg LONG */
2654 #define MUIA_String_EditHook \
2655 (MUIB_MUI | 0x00424c33) /* V7 isg struct Hook * */
2656 #define MUIA_String_Format \
2657 (MUIB_MUI | 0x00427484) /* V4 i.g LONG */
2658 #define MUIA_String_Integer \
2659 (MUIB_MUI | 0x00426e8a) /* V4 isg ULONG */
2660 #define MUIA_String_LonelyEditHook \
2661 (MUIB_MUI | 0x00421569) /* V11 isg BOOL */
2662 #define MUIA_String_MaxLen \
2663 (MUIB_MUI | 0x00424984) /* V4 i.g LONG */
2664 #define MUIA_String_Reject \
2665 (MUIB_MUI | 0x0042179c) /* V4 isg STRPTR */
2666 #define MUIA_String_Secret \
2667 (MUIB_MUI | 0x00428769) /* V4 i.g BOOL */
2669 enum
2671 MUIV_String_Format_Left = 0,
2672 MUIV_String_Format_Center,
2673 MUIV_String_Format_Right,
2676 /* Extended features taken over from Alan Odgaard's BetterString MCC.
2677 Attribute and method IDs match those of BetterString class. */
2679 #define MUIA_String_Columns 0xad001005
2680 #define MUIA_String_NoInput 0xad001007
2681 #define MUIA_String_SelectSize 0xad001001
2682 #define MUIA_String_StayActive 0xad001003
2683 #define MUIA_String_KeyUpFocus 0xad001008
2684 #define MUIA_String_KeyDownFocus 0xad001009
2686 #define MUIM_String_ClearSelected 0xad001004
2687 #define MUIM_String_FileNameStart 0xad001006
2688 #define MUIM_String_Insert 0xad001002
2690 #define MUIV_String_Insert_StartOfString 0x00000000
2691 #define MUIV_String_Insert_EndOfString 0xfffffffe
2692 #define MUIV_String_Insert_BufferPos 0xffffffff
2693 #define MUIV_String_BufferPos_End 0xffffffff
2695 #define MUIR_String_FileNameStart_Volume 0xffffffff
2697 struct MUIP_String_ClearSelected
2699 STACKED ULONG MethodID;
2702 struct MUIP_String_FileNameStart
2704 STACKED ULONG MethodID;
2705 STACKED STRPTR buffer;
2706 STACKED LONG pos;
2709 struct MUIP_String_Insert
2711 STACKED ULONG MethodID;
2712 STACKED STRPTR text;
2713 STACKED LONG pos;
2717 #endif /* _MUI_CLASSES_STRING_H */
2718 #endif
2720 #ifndef _MUI_CLASSES_BOOPSI_H
2722 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2723 $Id$
2726 #ifndef _MUI_CLASSES_BOOPSI_H
2727 #define _MUI_CLASSES_BOOPSI_H
2729 /*** Name *******************************************************************/
2730 #define MUIC_Boopsi "Boopsi.mui"
2732 /*** Identifier base (for Zune extensions) **********************************/
2733 #define MUIB_Boopsi (MUIB_ZUNE | 0x00000600)
2735 /*** Attributes *************************************************************/
2736 #define MUIA_Boopsi_Class \
2737 (MUIB_MUI | 0x00426999) /* V4 isg struct IClass * */
2738 #define MUIA_Boopsi_ClassID \
2739 (MUIB_MUI | 0x0042bfa3) /* V4 isg char * */
2740 #define MUIA_Boopsi_MaxHeight \
2741 (MUIB_MUI | 0x0042757f) /* V4 isg ULONG */
2742 #define MUIA_Boopsi_MaxWidth \
2743 (MUIB_MUI | 0x0042bcb1) /* V4 isg ULONG */
2744 #define MUIA_Boopsi_MinHeight \
2745 (MUIB_MUI | 0x00422c93) /* V4 isg ULONG */
2746 #define MUIA_Boopsi_MinWidth \
2747 (MUIB_MUI | 0x00428fb2) /* V4 isg ULONG */
2748 #define MUIA_Boopsi_Object \
2749 (MUIB_MUI | 0x00420178) /* V4 ..g Object * */
2750 #define MUIA_Boopsi_Remember \
2751 (MUIB_MUI | 0x0042f4bd) /* V4 i.. ULONG */
2752 #define MUIA_Boopsi_Smart \
2753 (MUIB_MUI | 0x0042b8d7) /* V9 i.. BOOL */
2754 #define MUIA_Boopsi_TagDrawInfo \
2755 (MUIB_MUI | 0x0042bae7) /* V4 isg ULONG */
2756 #define MUIA_Boopsi_TagScreen \
2757 (MUIB_MUI | 0x0042bc71) /* V4 isg ULONG */
2758 #define MUIA_Boopsi_TagWindow \
2759 (MUIB_MUI | 0x0042e11d) /* V4 isg ULONG */
2764 #endif /* _MUI_CLASSES_BOOPSI_H */
2765 #endif
2767 #ifndef _MUI_CLASSES_PROP_H
2768 #ifndef _MUI_CLASSES_PROP_H
2769 #define _MUI_CLASSES_PROP_H
2772 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2773 $Id$
2776 /*** Name *******************************************************************/
2777 #define MUIC_Prop "Prop.mui"
2779 /*** Identifier base (for Zune extensions) **********************************/
2780 #define MUIB_Prop (MUIB_ZUNE | 0x00002900)
2782 /*** Methods ****************************************************************/
2783 #define MUIM_Prop_Decrease (MUIB_MUI | 0x00420dd1) /* MUI: V16 */
2784 #define MUIM_Prop_Increase (MUIB_MUI | 0x0042cac0) /* MUI: V16 */
2786 struct MUIP_Prop_Decrease
2788 STACKED ULONG MethodID;
2789 STACKED LONG amount;
2792 struct MUIP_Prop_Increase
2794 STACKED ULONG MethodID;
2795 STACKED LONG amount;
2798 /*** Attributes *************************************************************/
2799 #define MUIA_Prop_Entries \
2800 (MUIB_MUI | 0x0042fbdb) /* MUI: V4 isg LONG */
2801 #define MUIA_Prop_First \
2802 (MUIB_MUI | 0x0042d4b2) /* MUI: V4 isg LONG */
2803 #define MUIA_Prop_Horiz \
2804 (MUIB_MUI | 0x0042f4f3) /* MUI: V4 i.g BOOL */
2805 #define MUIA_Prop_Slider \
2806 (MUIB_MUI | 0x00429c3a) /* MUI: V4 isg BOOL */
2807 #define MUIA_Prop_UseWinBorder \
2808 (MUIB_MUI | 0x0042deee) /* MUI: V13 i.. LONG */
2809 #define MUIA_Prop_Visible \
2810 (MUIB_MUI | 0x0042fea6) /* MUI: V4 isg LONG */
2813 enum
2815 MUIV_Prop_UseWinBorder_None = 0,
2816 MUIV_Prop_UseWinBorder_Left,
2817 MUIV_Prop_UseWinBorder_Right,
2818 MUIV_Prop_UseWinBorder_Bottom,
2821 #define MUIA_Prop_DeltaFactor \
2822 (MUIB_MUI | 0x00427c5e) /* MUI: is. LONG */
2823 #define MUIA_Prop_DoSmooth \
2824 (MUIB_MUI | 0x004236ce) /* MUI: V4 i.. LONG */
2828 #endif /* _MUI_CLASSES_PROP_H */
2829 #endif
2831 #ifndef _MUI_CLASSES_SCROLLBAR_H
2832 #ifndef _MUI_CLASSES_SCROLLBAR_H
2833 #define _MUI_CLASSES_SCROLLBAR_H
2836 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2837 $Id$
2840 /*** Name *******************************************************************/
2841 #define MUIC_Scrollbar "Scrollbar.mui"
2843 /*** Identifier base (for Zune extensions) **********************************/
2844 #define MUIB_Scrollbar (MUIB_ZUNE | 0x00002e00)
2846 /*** Attributes *************************************************************/
2847 #define MUIA_Scrollbar_Type (MUIB_MUI | 0x0042fb6b) /* V11 i.. LONG */
2849 enum
2851 MUIV_Scrollbar_Type_Default = 0,
2852 MUIV_Scrollbar_Type_Bottom,
2853 MUIV_Scrollbar_Type_Top,
2854 MUIV_Scrollbar_Type_Sym,
2859 #endif /* _MUI_CLASSES_SCROLLBAR_H */
2860 #endif
2862 #ifndef _MUI_CLASSES_REGISTER_H
2863 #ifndef _MUI_CLASSES_REGISTER_H
2864 #define _MUI_CLASSES_REGISTER_H
2867 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2868 $Id$
2871 /*** Name *******************************************************************/
2872 #define MUIC_Register "Register.mui"
2874 /*** Identifier base (for Zune extensions) *********************************/
2875 #define MUIB_Register (MUIB_ZUNE | 0x00002c00)
2877 /*** Attributes *************************************************************/
2878 #define MUIA_Register_Frame (MUIB_MUI | 0x0042349b) /* V7 i.g BOOL */
2879 #define MUIA_Register_Titles (MUIB_MUI | 0x004297ec) /* V7 i.g STRPTR * */
2881 #define MUIA_Register_Columns (MUIB_Register | 0x0000) /* Zune V1 i.. */
2885 #endif /* _MUI_CLASSES_REGISTER_H */
2886 #endif
2888 #ifndef _MUI_CLASSES_MENUITEM_H
2889 #ifndef _MUI_CLASSES_MENUITEM_H
2890 #define _MUI_CLASSES_MENUITEM_H
2893 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2894 $Id$
2897 /****************************************************************************/
2898 /*** Name *******************************************************************/
2899 #define MUIC_Menustrip "Menustrip.mui"
2901 /*** Identifier base (for Zune extensions) **********************************/
2902 #define MUIB_Menustrip (MUIB_ZUNE | 0x00001a00)
2904 /*** Attributes *************************************************************/
2905 #define MUIA_Menustrip_Enabled (MUIB_MUI | 0x0042815b) /* MUI: V8 isg BOOL */
2909 /****************************************************************************/
2910 /*** Name *******************************************************************/
2911 #define MUIC_Menu "Menu.mui"
2913 /*** Identifier base (for Zune extensions) **********************************/
2914 #define MUIB_Menu (MUIB_ZUNE | 0x00001b00)
2916 /*** Attributes *************************************************************/
2917 #define MUIA_Menu_Enabled (MUIB_MUI | 0x0042ed48) /* MUI: V8 isg BOOL */
2918 #define MUIA_Menu_Title (MUIB_MUI | 0x0042a0e3) /* MUI: V8 isg STRPTR */
2922 /****************************************************************************/
2923 /*** Name *******************************************************************/
2924 #define MUIC_Menuitem "Menuitem.mui"
2926 /*** Identifier base (for Zune extensions) **********************************/
2927 #define MUIB_Menuitem (MUIB_ZUNE | 0x00001c00)
2929 /*** Attributes *************************************************************/
2930 #define MUIA_Menuitem_Checked \
2931 (MUIB_MUI | 0x0042562a) /* MUI: V8 isg BOOL */
2932 #define MUIA_Menuitem_Checkit \
2933 (MUIB_MUI | 0x00425ace) /* MUI: V8 isg BOOL */
2934 #define MUIA_Menuitem_CommandString \
2935 (MUIB_MUI | 0x0042b9cc) /* MUI: V16 isg BOOL */
2936 #define MUIA_Menuitem_Enabled \
2937 (MUIB_MUI | 0x0042ae0f) /* MUI: V8 isg BOOL */
2938 #define MUIA_Menuitem_Exclude \
2939 (MUIB_MUI | 0x00420bc6) /* MUI: V8 isg LONG */
2940 #define MUIA_Menuitem_Shortcut \
2941 (MUIB_MUI | 0x00422030) /* MUI: V8 isg STRPTR */
2942 #define MUIA_Menuitem_Title \
2943 (MUIB_MUI | 0x004218be) /* MUI: V8 isg STRPTR */
2944 #define MUIA_Menuitem_Toggle \
2945 (MUIB_MUI | 0x00424d5c) /* MUI: V8 isg BOOL */
2946 #define MUIA_Menuitem_Trigger \
2947 (MUIB_MUI | 0x00426f32) /* MUI: V8 ..g struct MenuItem * */
2949 #define MUIA_Menuitem_NewMenu \
2950 (MUIB_Menuitem | 0x00000000) /* Zune: V1 ..g struct NewMenu * */
2953 #define MUIV_Menuitem_Shortcut_Check (-1)
2957 #endif /* _MUI_CLASSES_MENUITEM_H */
2958 #endif
2960 #ifndef _MUI_CLASSES_DATASPACE_H
2961 #ifndef _MUI_CLASSES_DATASPACE_H
2962 #define _MUI_CLASSES_DATASPACE_H
2965 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2966 $Id$
2969 /*** Name *******************************************************************/
2970 #define MUIC_Dataspace "Dataspace.mui"
2972 /*** Identifier base (for Zune extensions) **********************************/
2973 #define MUIB_Dataspace (MUIB_ZUNE | 0x00000b00)
2976 /*** Methods ****************************************************************/
2977 #define MUIM_Dataspace_Add (MUIB_MUI | 0x00423366) /* MUI: V11 */
2978 #define MUIM_Dataspace_Clear (MUIB_MUI | 0x0042b6c9) /* MUI: V11 */
2979 #define MUIM_Dataspace_Find (MUIB_MUI | 0x0042832c) /* MUI: V11 */
2980 #define MUIM_Dataspace_Merge (MUIB_MUI | 0x00423e2b) /* MUI: V11 */
2981 #define MUIM_Dataspace_ReadIFF (MUIB_MUI | 0x00420dfb) /* MUI: V11 */
2982 #define MUIM_Dataspace_Remove (MUIB_MUI | 0x0042dce1) /* MUI: V11 */
2983 #define MUIM_Dataspace_WriteIFF (MUIB_MUI | 0x00425e8e) /* MUI: V11 */
2985 struct MUIP_Dataspace_Add
2987 STACKED ULONG MethodID;
2988 STACKED APTR data;
2989 STACKED LONG len;
2990 STACKED ULONG id;
2993 struct MUIP_Dataspace_Clear
2995 STACKED ULONG MethodID;
2998 struct MUIP_Dataspace_Find
3000 STACKED ULONG MethodID;
3001 STACKED ULONG id;
3004 struct MUIP_Dataspace_Merge
3006 STACKED ULONG MethodID;
3007 STACKED Object *dataspace;
3010 struct MUIP_Dataspace_ReadIFF
3012 STACKED ULONG MethodID;
3013 STACKED struct IFFHandle *handle;
3016 struct MUIP_Dataspace_Remove
3018 STACKED ULONG MethodID;
3019 STACKED ULONG id;
3022 struct MUIP_Dataspace_WriteIFF
3024 STACKED ULONG MethodID;
3025 STACKED struct IFFHandle *handle;
3026 STACKED ULONG type;
3027 STACKED ULONG id;
3030 /*** Attributes *************************************************************/
3031 #define MUIA_Dataspace_Pool (MUIB_MUI | 0x00424cf9) /* MUI: V11 i.. APTR */
3035 #endif /* _MUI_CLASSES_DATASPACE_H */
3036 #endif
3038 #ifndef _MUI_CLASSES_VIRTGROUP_H
3039 #ifndef _MUI_CLASSES_VIRTGROUP_H
3040 #define _MUI_CLASSES_VIRTGROUP_H
3043 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3044 $Id$
3047 /*** Name *******************************************************************/
3048 #define MUIC_Virtgroup "Virtgroup.mui"
3050 /*** Identifier base (for Zune extensions) **********************************/
3051 #define MUIB_Virtgroup (MUIB_ZUNE | 0x00003700)
3053 /*** Attributes *************************************************************/
3054 #define MUIA_Virtgroup_Height (MUIB_MUI | 0x00423038) /* V6 ..g LONG */
3055 #define MUIA_Virtgroup_Input (MUIB_MUI | 0x00427f7e) /* V11 i.. BOOL */
3056 #define MUIA_Virtgroup_Left (MUIB_MUI | 0x00429371) /* V6 isg LONG */
3057 #define MUIA_Virtgroup_Top (MUIB_MUI | 0x00425200) /* V6 isg LONG */
3058 #define MUIA_Virtgroup_Width (MUIB_MUI | 0x00427c49) /* V6 ..g LONG */
3063 #endif /* _MUI_CLASSES_VIRTGROUP_H */
3064 #endif
3066 #ifndef _MUI_CLASSES_SCROLLGROUP_H
3067 #ifndef _MUI_CLASSES_SCROLLGROUP_H
3068 #define _MUI_CLASSES_SCROLLGROUP_H
3071 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3072 $Id$
3075 /*** Name *******************************************************************/
3076 #define MUIC_Scrollgroup "Scrollgroup.mui"
3078 /*** Identifier base (for Zune extensions) **********************************/
3079 #define MUIB_Scrollgroup (MUIB_ZUNE | 0x00002f00)
3081 /*** Attributes *************************************************************/
3082 #define MUIA_Scrollgroup_Contents \
3083 (MUIB_MUI | 0x00421261) /* V4 i.g Object * */
3084 #define MUIA_Scrollgroup_FreeHoriz \
3085 (MUIB_MUI | 0x004292f3) /* V9 i.. BOOL */
3086 #define MUIA_Scrollgroup_FreeVert \
3087 (MUIB_MUI | 0x004224f2) /* V9 i.. BOOL */
3088 #define MUIA_Scrollgroup_HorizBar \
3089 (MUIB_MUI | 0x0042b63d) /* V16 ..g Object * */
3090 #define MUIA_Scrollgroup_UseWinBorder \
3091 (MUIB_MUI | 0x004284c1) /* V13 i.. BOOL */
3092 #define MUIA_Scrollgroup_VertBar \
3093 (MUIB_MUI | 0x0042cdc0) /* V16 ..g Object * */
3097 #endif /* _MUI_CLASSES_SCROLLGROUP_H */
3098 #endif
3100 #ifndef _MUI_CLASSES_SCROLLBUTTON_H
3102 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3103 $Id$
3106 #ifndef _MUI_CLASSES_SCROLLBUTTON_H
3107 #define _MUI_CLASSES_SCROLLBUTTON_H
3109 /*** Name *******************************************************************/
3110 #define MUIC_Scrollbutton "Scrollbutton.mui"
3112 /*** Identifier base ********************************************************/
3113 #define MUIB_Scrollbutton (MUIB_ZUNE | 0x00004100)
3115 /*** Attributes *************************************************************/
3116 #define MUIA_Scrollbutton_NewPosition \
3117 (MUIB_Scrollbutton | 0x00000000) /* --G ULONG (2 x WORD) */
3118 #define MUIA_Scrollbutton_Horiz \
3119 (MUIB_Scrollbutton | 0x00000001) /* -SG WORD */
3120 #define MUIA_Scrollbutton_Vert \
3121 (MUIB_Scrollbutton | 0x00000002) /* -SG WORD */
3122 #define MUIA_Scrollbutton_HorizProp \
3123 (MUIB_Scrollbutton | 0x00000003) /* --G Object * */
3124 #define MUIA_Scrollbutton_VertProp \
3125 (MUIB_Scrollbutton | 0x00000004) /* --G Object * */
3127 /*** Macros *****************************************************************/
3128 #define ScrollbuttonObject MUIOBJMACRO_START(MUIC_Scrollbutton)
3131 #endif /* _MUI_CLASSES_SCROLLBUTTON_H */
3132 #endif
3134 #ifndef _MUI_CLASSES_SEMAPHORE_H
3135 #ifndef _MUI_CLASSES_SEMAPHORE_H
3136 #define _MUI_CLASSES_SEMAPHORE_H
3139 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3140 $Id$
3143 /*** Name *******************************************************************/
3144 #define MUIC_Semaphore "Semaphore.mui"
3146 /*** Identifier base (for Zune extensions) **********************************/
3147 #define MUIB_Semaphore (MUIB_ZUNE | 0x00003000)
3149 /*** Methods ****************************************************************/
3150 #define MUIM_Semaphore_Attempt (MUIB_MUI | 0x00426ce2) /* MUI: V11 */
3151 #define MUIM_Semaphore_AttemptShared (MUIB_MUI | 0x00422551) /* MUI: V11 */
3152 #define MUIM_Semaphore_Obtain (MUIB_MUI | 0x004276f0) /* MUI: V11 */
3153 #define MUIM_Semaphore_ObtainShared (MUIB_MUI | 0x0042ea02) /* MUI: V11 */
3154 #define MUIM_Semaphore_Release (MUIB_MUI | 0x00421f2d) /* MUI: V11 */
3156 struct MUIP_Semaphore_Attempt
3158 STACKED ULONG MethodID;
3161 struct MUIP_Semaphore_AttemptShared
3163 STACKED ULONG MethodID;
3166 struct MUIP_Semaphore_Obtain
3168 STACKED ULONG MethodID;
3171 struct MUIP_Semaphore_ObtainShared
3173 STACKED ULONG MethodID;
3176 struct MUIP_Semaphore_Release
3178 STACKED ULONG MethodID;
3183 #endif /* _MUI_CLASSES_SEMAPHORE_H */
3184 #endif
3186 #ifndef _MUI_CLASSES_BITMAP_H
3188 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3189 $Id$
3192 #ifndef _MUI_CLASSES_BITMAP_H
3193 #define _MUI_CLASSES_BITMAP_H
3195 /*** Name *******************************************************************/
3196 #define MUIC_Bitmap "Bitmap.mui"
3198 /*** Identifier base (for Zune extensions) **********************************/
3199 #define MUIB_Bitmap (MUIB_ZUNE | 0x00000400)
3201 /*** Attributes *************************************************************/
3202 #define MUIA_Bitmap_Bitmap \
3203 (MUIB_MUI | 0x004279bd) /* MUI: V8 isg struct BitMap * */
3204 #define MUIA_Bitmap_Height \
3205 (MUIB_MUI | 0x00421560) /* MUI: V8 isg LONG */
3206 #define MUIA_Bitmap_MappingTable \
3207 (MUIB_MUI | 0x0042e23d) /* MUI: V8 isg UBYTE * */
3208 #define MUIA_Bitmap_Precision \
3209 (MUIB_MUI | 0x00420c74) /* MUI: V11 isg LONG */
3210 #define MUIA_Bitmap_RemappedBitmap \
3211 (MUIB_MUI | 0x00423a47) /* MUI: V11 ..g struct BitMap * */
3212 #define MUIA_Bitmap_SourceColors \
3213 (MUIB_MUI | 0x00425360) /* MUI: V8 isg ULONG * */
3214 #define MUIA_Bitmap_Transparent \
3215 (MUIB_MUI | 0x00422805) /* MUI: V8 isg LONG */
3216 #define MUIA_Bitmap_UseFriend \
3217 (MUIB_MUI | 0x004239d8) /* MUI: V11 i.. BOOL */
3218 #define MUIA_Bitmap_Width \
3219 (MUIB_MUI | 0x0042eb3a) /* MUI: V8 isg LONG */
3222 #endif /* _MUI_CLASSES_BITMAP_H */
3223 #endif
3225 #ifndef _MUI_CLASSES_BODYCHUNK_H
3227 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3228 $Id$
3231 #ifndef _MUI_CLASSES_BODYCHUNK_H
3232 #define _MUI_CLASSES_BODYCHUNK_H
3234 /*** Name *******************************************************************/
3235 #define MUIC_Bodychunk "Bodychunk.mui"
3237 /*** Identifier base (for Zune extensions) **********************************/
3238 #define MUIB_Bodychunk (MUIB_ZUNE | 0x00000500)
3240 /*** Attributes *************************************************************/
3241 #define MUIA_Bodychunk_Body \
3242 (MUIB_MUI | 0x0042ca67) /* V8 isg UBYTE * */
3243 #define MUIA_Bodychunk_Compression \
3244 (MUIB_MUI | 0x0042de5f) /* V8 isg UBYTE */
3245 #define MUIA_Bodychunk_Depth \
3246 (MUIB_MUI | 0x0042c392) /* V8 isg LONG */
3247 #define MUIA_Bodychunk_Masking \
3248 (MUIB_MUI | 0x00423b0e) /* V8 isg UBYTE */
3252 #endif /* _MUI_CLASSES_BODYCHUNK_H */
3253 #endif
3255 #ifndef _MUI_CLASSES_CHUNKYIMAGE_H
3256 #ifndef _MUI_CLASSES_CHUNKYIMAGE_H
3257 #define _MUI_CLASSES_CHUNKYIMAGE_H
3260 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3261 $Id$
3264 /*** Name *******************************************************************/
3265 #define MUIC_ChunkyImage "ChunkyImage.mui"
3267 /*** Identifier base ********************************************************/
3268 #define MUIB_ChunkyImage (MUIB_ZUNE | 0x00004000)
3270 /*** Attributes *************************************************************/
3271 #define MUIA_ChunkyImage_Pixels \
3272 (MUIB_ChunkyImage | 0x00000000) /* V8 isg UBYTE * */
3273 #define MUIA_ChunkyImage_Palette \
3274 (MUIB_ChunkyImage | 0x00000001) /* V8 isg UBYTE * */
3275 #define MUIA_ChunkyImage_NumColors \
3276 (MUIB_ChunkyImage | 0x00000002) /* V8 isg LONG */
3277 #define MUIA_ChunkyImage_Modulo \
3278 (MUIB_ChunkyImage | 0x00000003) /* V8 isg LONG */
3282 #endif /* _MUI_CLASSES_CHUNKYIMAGE_H */
3283 #endif
3285 #ifndef _MUI_CLASSES_LISTVIEW_H
3286 #ifndef _CLASSES_LISTVIEW_H
3287 #define _CLASSES_LISTVIEW_H
3290 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3291 $Id$
3294 /*** Name *******************************************************************/
3295 #define MUIC_Listview "Listview.mui"
3297 /*** Identifier base (for Zune extensions) **********************************/
3298 #define MUIB_Listview (MUIB_ZUNE | 0x00001900)
3300 /*** Attributes *************************************************************/
3301 #define MUIA_Listview_ClickColumn \
3302 (MUIB_MUI | 0x0042d1b3) /* V7 ..g LONG */
3303 #define MUIA_Listview_DefClickColumn \
3304 (MUIB_MUI | 0x0042b296) /* V7 isg LONG */
3305 #define MUIA_Listview_DoubleClick \
3306 (MUIB_MUI | 0x00424635) /* V4 i.g BOOL */
3307 #define MUIA_Listview_DragType \
3308 (MUIB_MUI | 0x00425cd3) /* V11 isg LONG */
3309 #define MUIA_Listview_Input \
3310 (MUIB_MUI | 0x0042682d) /* V4 i.. BOOL */
3311 #define MUIA_Listview_List \
3312 (MUIB_MUI | 0x0042bcce) /* V4 i.g Object */
3313 #define MUIA_Listview_MultiSelect \
3314 (MUIB_MUI | 0x00427e08) /* V7 i.. LONG */
3315 #define MUIA_Listview_ScrollerPos \
3316 (MUIB_MUI | 0x0042b1b4) /* V10 i.. BOOL */
3317 #define MUIA_Listview_SelectChange \
3318 (MUIB_MUI | 0x0042178f) /* V4 ..g BOOL */
3320 enum
3322 MUIV_Listview_DragType_None = 0,
3323 MUIV_Listview_DragType_Immediate,
3326 enum
3328 MUIV_Listview_MultiSelect_None = 0,
3329 MUIV_Listview_MultiSelect_Default,
3330 MUIV_Listview_MultiSelect_Shifted,
3331 MUIV_Listview_MultiSelect_Always,
3334 enum
3336 MUIV_Listview_ScrollerPos_Default = 0,
3337 MUIV_Listview_ScrollerPos_Left,
3338 MUIV_Listview_ScrollerPos_Right,
3339 MUIV_Listview_ScrollerPos_None,
3344 #endif /* _CLASSES_LISTVIEW_H */
3345 #endif
3347 #ifndef _MUI_CLASSES_LIST_H
3348 #ifndef _MUI_CLASSES_LIST_H
3349 #define _MUI_CLASSES_LIST_H
3352 Copyright © 2002-2013, The AROS Development Team. All rights reserved.
3353 $Id$
3356 /****************************************************************************/
3357 /*** Name *******************************************************************/
3358 #define MUIC_List "List.mui"
3360 /*** Identifier base (for Zune extensions) **********************************/
3361 #define MUIB_List (MUIB_ZUNE | 0x00001400)
3363 /*** Methods ****************************************************************/
3364 #define MUIM_List_Clear (MUIB_MUI | 0x0042ad89) /* MUI: V4 */
3365 #define MUIM_List_Compare (MUIB_MUI | 0x00421b68) /* MUI: V20 */
3366 #define MUIM_List_Construct (MUIB_MUI | 0x0042d662) /* MUI: V20 */
3367 #define MUIM_List_CreateImage (MUIB_MUI | 0x00429804) /* MUI: V11 */
3368 #define MUIM_List_DeleteImage (MUIB_MUI | 0x00420f58) /* MUI: V11 */
3369 #define MUIM_List_Destruct (MUIB_MUI | 0x00427d51) /* MUI: V20 */
3370 #define MUIM_List_Display (MUIB_MUI | 0x00425377) /* MUI: V20 */
3371 #define MUIM_List_Exchange (MUIB_MUI | 0x0042468c) /* MUI: V4 */
3372 #define MUIM_List_GetEntry (MUIB_MUI | 0x004280ec) /* MUI: V4 */
3373 #define MUIM_List_Insert (MUIB_MUI | 0x00426c87) /* MUI: V4 */
3374 #define MUIM_List_InsertSingle (MUIB_MUI | 0x004254d5) /* MUI: V7 */
3375 #define MUIM_List_Jump (MUIB_MUI | 0x0042baab) /* MUI: V4 */
3376 #define MUIM_List_Move (MUIB_MUI | 0x004253c2) /* MUI: V9 */
3377 #define MUIM_List_NextSelected (MUIB_MUI | 0x00425f17) /* MUI: V6 */
3378 #define MUIM_List_Redraw (MUIB_MUI | 0x00427993) /* MUI: V4 */
3379 #define MUIM_List_Remove (MUIB_MUI | 0x0042647e) /* MUI: V4 */
3380 #define MUIM_List_Select (MUIB_MUI | 0x004252d8) /* MUI: V4 */
3381 #define MUIM_List_Sort (MUIB_MUI | 0x00422275) /* MUI: V4 */
3382 #define MUIM_List_TestPos (MUIB_MUI | 0x00425f48) /* MUI: V11 */
3384 struct MUIP_List_Clear
3386 STACKED ULONG MethodID;
3389 struct MUIP_List_Compare
3391 STACKED ULONG MethodID;
3392 STACKED APTR entry1;
3393 STACKED APTR entry2;
3394 STACKED LONG sort_type1;
3395 STACKED LONG sort_type2;
3398 struct MUIP_List_Construct
3400 STACKED ULONG MethodID;
3401 STACKED APTR entry;
3402 STACKED APTR pool;
3405 struct MUIP_List_CreateImage
3407 STACKED ULONG MethodID;
3408 STACKED Object *obj;
3409 STACKED ULONG flags;
3412 struct MUIP_List_DeleteImage
3414 STACKED ULONG MethodID;
3415 STACKED APTR listimg;
3418 struct MUIP_List_Destruct
3420 STACKED ULONG MethodID;
3421 STACKED APTR entry;
3422 STACKED APTR pool;
3425 struct MUIP_List_Display
3427 STACKED ULONG MethodID;
3428 STACKED APTR entry;
3429 STACKED STRPTR *array;
3430 STACKED LONG entry_pos;
3431 STACKED STRPTR *preparses;
3434 struct MUIP_List_Exchange
3436 STACKED ULONG MethodID;
3437 STACKED LONG pos1;
3438 STACKED LONG pos2;
3441 struct MUIP_List_GetEntry
3443 STACKED ULONG MethodID;
3444 STACKED LONG pos;
3445 STACKED APTR *entry;
3448 struct MUIP_List_Insert
3450 STACKED ULONG MethodID;
3451 STACKED APTR *entries;
3452 STACKED LONG count;
3453 STACKED LONG pos;
3456 struct MUIP_List_InsertSingle
3458 STACKED ULONG MethodID;
3459 STACKED APTR entry;
3460 STACKED LONG pos;
3463 struct MUIP_List_Jump
3465 STACKED ULONG MethodID;
3466 STACKED LONG pos;
3469 struct MUIP_List_Move
3471 STACKED ULONG MethodID;
3472 STACKED LONG from;
3473 STACKED LONG to;
3476 struct MUIP_List_NextSelected
3478 STACKED ULONG MethodID;
3479 STACKED LONG *pos;
3482 struct MUIP_List_Redraw
3484 STACKED ULONG MethodID;
3485 STACKED LONG pos;
3486 STACKED APTR entry;
3489 struct MUIP_List_Remove
3491 STACKED ULONG MethodID;
3492 STACKED LONG pos;
3495 struct MUIP_List_Select
3497 STACKED ULONG MethodID;
3498 STACKED LONG pos;
3499 STACKED LONG seltype;
3500 STACKED LONG *info;
3503 struct MUIP_List_Sort
3505 STACKED ULONG MethodID;
3508 struct MUIP_List_TestPos
3510 STACKED ULONG MethodID;
3511 STACKED LONG x;
3512 STACKED LONG y;
3513 STACKED struct MUI_List_TestPos_Result *res;
3517 struct MUIP_List_SelectChange
3519 STACKED ULONG MethodID;
3520 STACKED LONG pos;
3521 STACKED LONG state;
3522 STACKED ULONG flags;
3525 /*** Attributes *************************************************************/
3526 #define MUIA_List_Active \
3527 (MUIB_MUI | 0x0042391c) /* MUI: V4 isg LONG */
3528 #define MUIA_List_AdjustHeight \
3529 (MUIB_MUI | 0x0042850d) /* MUI: V4 i.. BOOL */
3530 #define MUIA_List_AdjustWidth \
3531 (MUIB_MUI | 0x0042354a) /* MUI: V4 i.. BOOL */
3532 #define MUIA_List_AutoVisible \
3533 (MUIB_MUI | 0x0042a445) /* MUI: V11 isg BOOL */
3534 #define MUIA_List_CompareHook \
3535 (MUIB_MUI | 0x00425c14) /* MUI: V4 is. struct Hook * */
3536 #define MUIA_List_ConstructHook \
3537 (MUIB_MUI | 0x0042894f) /* MUI: V4 is. struct Hook * */
3538 #define MUIA_List_DestructHook \
3539 (MUIB_MUI | 0x004297ce) /* MUI: V4 is. struct Hook * */
3540 #define MUIA_List_DisplayHook \
3541 (MUIB_MUI | 0x0042b4d5) /* MUI: V4 is. struct Hook * */
3542 #define MUIA_List_DragSortable \
3543 (MUIB_MUI | 0x00426099) /* MUI: V11 isg BOOL */
3544 #define MUIA_List_DropMark \
3545 (MUIB_MUI | 0x0042aba6) /* MUI: V11 ..g LONG */
3546 #define MUIA_List_Entries \
3547 (MUIB_MUI | 0x00421654) /* MUI: V4 ..g LONG */
3548 #define MUIA_List_First \
3549 (MUIB_MUI | 0x004238d4) /* MUI: V4 ..g LONG */
3550 #define MUIA_List_Format \
3551 (MUIB_MUI | 0x00423c0a) /* MUI: V4 isg STRPTR */
3552 #define MUIA_List_InsertPosition \
3553 (MUIB_MUI | 0x0042d0cd) /* MUI: V9 ..g LONG */
3554 #define MUIA_List_MinLineHeight \
3555 (MUIB_MUI | 0x0042d1c3) /* MUI: V4 i.. LONG */
3556 #define MUIA_List_MultiTestHook \
3557 (MUIB_MUI | 0x0042c2c6) /* MUI: V4 is. struct Hook * */
3558 #define MUIA_List_Pool \
3559 (MUIB_MUI | 0x00423431) /* MUI: V13 i.. APTR */
3560 #define MUIA_List_PoolPuddleSize \
3561 (MUIB_MUI | 0x0042a4eb) /* MUI: V13 i.. ULONG */
3562 #define MUIA_List_PoolThreshSize \
3563 (MUIB_MUI | 0x0042c48c) /* MUI: V13 i.. ULONG */
3564 #define MUIA_List_Quiet \
3565 (MUIB_MUI | 0x0042d8c7) /* MUI: V4 .s. BOOL */
3566 #define MUIA_List_ShowDropMarks \
3567 (MUIB_MUI | 0x0042c6f3) /* MUI: V11 isg BOOL */
3568 #define MUIA_List_SourceArray \
3569 (MUIB_MUI | 0x0042c0a0) /* MUI: V4 i.. APTR */
3570 #define MUIA_List_Title \
3571 (MUIB_MUI | 0x00423e66) /* MUI: V6 isg char * */
3572 #define MUIA_List_Visible \
3573 (MUIB_MUI | 0x0042191f) /* MUI: V4 ..g LONG */
3576 /* Structure of the List Position Test (MUIM_List_TestPos) */
3577 struct MUI_List_TestPos_Result
3579 LONG entry; /* entry number, maybe -1 if testpos is not over valid
3580 * entry */
3581 WORD column; /* the number of the column, maybe -1 (invalid) */
3582 UWORD flags; /* some flags, see below */
3583 WORD xoffset; /* x offset (in pixels) of testpos relative to the start
3584 * of the column */
3585 WORD yoffset; /* y offset (in pixels) of testpos relative from center
3586 * of line( <0 => testpos was above, >0 => testpos was
3587 * below center) */
3590 #define MUI_LPR_ABOVE (1<<0)
3591 #define MUI_LPR_BELOW (1<<1)
3592 #define MUI_LPR_LEFT (1<<2)
3593 #define MUI_LPR_RIGHT (1<<3)
3595 enum
3597 MUIV_List_Active_Off = -1,
3598 MUIV_List_Active_Top = -2,
3599 MUIV_List_Active_Bottom = -3,
3600 MUIV_List_Active_Up = -4,
3601 MUIV_List_Active_Down = -5,
3602 MUIV_List_Active_PageUp = -6,
3603 MUIV_List_Active_PageDown = -7,
3606 #define MUIV_List_ConstructHook_String (IPTR)-1
3607 #define MUIV_List_CopyHook_String (IPTR)-1
3608 #define MUIV_List_CursorType_None 0
3609 #define MUIV_List_CursorType_Bar 1
3610 #define MUIV_List_CursorType_Rect 2
3611 #define MUIV_List_DestructHook_String (IPTR)-1
3613 enum
3615 MUIV_List_Insert_Top = 0,
3616 MUIV_List_Insert_Active = -1,
3617 MUIV_List_Insert_Sorted = -2,
3618 MUIV_List_Insert_Bottom = -3
3621 enum
3623 MUIV_List_Remove_First = 0,
3624 MUIV_List_Remove_Active = -1,
3625 MUIV_List_Remove_Last = -2,
3626 MUIV_List_Remove_Selected = -3,
3629 enum
3631 MUIV_List_Select_Active = -1,
3632 MUIV_List_Select_All = -2,
3634 MUIV_List_Select_Off = 0,
3635 MUIV_List_Select_On = 1,
3636 MUIV_List_Select_Toggle = 2,
3637 MUIV_List_Select_Ask = 3,
3640 enum
3642 MUIV_List_GetEntry_Active = -1,
3645 enum
3647 MUIV_List_Redraw_Active = -1,
3648 MUIV_List_Redraw_All = -2,
3649 MUIV_List_Redraw_Entry = -3,
3652 enum
3654 MUIV_List_Move_Top = 0,
3655 MUIV_List_Move_Active = -1,
3656 MUIV_List_Move_Bottom = -2,
3657 MUIV_List_Move_Next = -3, /* for 2nd parameter only */
3658 MUIV_List_Move_Previous = -4, /* for 2nd parameter only */
3661 enum
3663 MUIV_List_Exchange_Top = 0,
3664 MUIV_List_Exchange_Active = -1,
3665 MUIV_List_Exchange_Bottom = -2,
3666 MUIV_List_Exchange_Next = -3, /* for 2nd parameter only */
3667 MUIV_List_Exchange_Previous = -4, /* for 2nd parameter only */
3670 enum
3672 MUIV_List_Jump_Top = 0,
3673 MUIV_List_Jump_Active = -1,
3674 MUIV_List_Jump_Bottom = -2,
3675 MUIV_List_Jump_Down = -3,
3676 MUIV_List_Jump_Up = -4,
3679 #define MUIV_List_NextSelected_Start (-1)
3680 #define MUIV_List_NextSelected_End (-1)
3683 #define MUIV_NList_SelectChange_Flag_Multi (1 << 0)
3690 /****************************************************************************/
3691 /*** Name *******************************************************************/
3692 #define MUIC_Scrmodelist "Scrmodelist.mui"
3694 /*** Identifier base (for Zune extensions) **********************************/
3695 #define MUIB_Scrmodelist (MUIB_ZUNE | 0x00001700)
3697 #endif /* _MUI_CLASSES_LIST_H */
3698 #endif
3700 #ifndef _MUI_CLASSES_FLOATTEXT_H
3701 #ifndef _MUI_CLASSES_FLOATTEXT_H
3702 #define _MUI_CLASSES_FLOATTEXT_H
3705 Copyright © 2002-2013, The AROS Development Team. All rights reserved.
3706 $Id$
3709 /*** Name *******************************************************************/
3710 #define MUIC_Floattext "Floattext.mui"
3712 /*** Identifier base (for Zune extensions) **********************************/
3713 #define MUIB_Floattext (MUIB_ZUNE | 0x00001500)
3715 /*** Attributes *************************************************************/
3716 #define MUIA_Floattext_Justify \
3717 (MUIB_MUI | 0x0042dc03) /* MUI: V4 isg BOOL */
3718 #define MUIA_Floattext_SkipChars \
3719 (MUIB_MUI | 0x00425c7d) /* MUI: V4 is. STRPTR */
3720 #define MUIA_Floattext_TabSize \
3721 (MUIB_MUI | 0x00427d17) /* MUI: V4 is. LONG */
3722 #define MUIA_Floattext_Text \
3723 (MUIB_MUI | 0x0042d16a) /* MUI: V4 isg STRPTR */
3726 #endif /* _MUI_CLASSES_FLOATTEXT_H */
3727 #endif
3729 #ifndef _MUI_CLASSES_POPSTRING_H
3730 #ifndef _MUI_CLASSES_POPSTRING_H
3731 #define _MUI_CLASSES_POPSTRING_H
3734 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3735 $Id$
3738 /*** Name *******************************************************************/
3739 #define MUIC_Popstring "Popstring.mui"
3741 /*** Identifier base (for Zune extensions) **********************************/
3742 #define MUIB_Popstring (MUIB_ZUNE | 0x00002800)
3744 /*** Methods ****************************************************************/
3745 #define MUIM_Popstring_Close (MUIB_MUI | 0x0042dc52) /* MUI: V7 */
3746 #define MUIM_Popstring_Open (MUIB_MUI | 0x004258ba) /* MUI: V7 */
3748 struct MUIP_Popstring_Close
3750 STACKED ULONG MethodID;
3751 STACKED LONG result;
3754 struct MUIP_Popstring_Open
3756 STACKED ULONG MethodID;
3759 /*** Attributes *************************************************************/
3760 #define MUIA_Popstring_Button \
3761 (MUIB_MUI | 0x0042d0b9) /* MUI: V7 i.g Object * */
3762 #define MUIA_Popstring_CloseHook \
3763 (MUIB_MUI | 0x004256bf) /* MUI: V7 isg struct Hook * */
3764 #define MUIA_Popstring_OpenHook \
3765 (MUIB_MUI | 0x00429d00) /* MUI: V7 isg struct Hook * */
3766 #define MUIA_Popstring_String \
3767 (MUIB_MUI | 0x004239ea) /* MUI: V7 i.g Object * */
3768 #define MUIA_Popstring_Toggle \
3769 (MUIB_MUI | 0x00422b7a) /* MUI: V7 isg BOOL */
3773 #endif /* _MUI_CLASSES_POPSTRING_H */
3774 #endif
3776 #ifndef _MUI_CLASSES_POPOBJECT_H
3777 #ifndef _MUI_CLASSES_POPOBJECT_H
3778 #define _MUI_CLASSES_POPOBJECT_H
3781 Copyright © 2002-2006, The AROS Development Team. All rights reserved.
3782 $Id$
3785 /****************************************************************************/
3786 /*** Name *******************************************************************/
3787 #define MUIC_Popobject "Popobject.mui"
3789 /*** Identifier base ********************************************************/
3790 #define MUIB_Popobject (MUIB_ZUNE | 0x00002400)
3792 /*** Attributes *************************************************************/
3793 #define MUIA_Popobject_Follow \
3794 (MUIB_MUI | 0x00424cb5) /* MUI: V7 isg BOOL */
3795 #define MUIA_Popobject_Light \
3796 (MUIB_MUI | 0x0042a5a3) /* MUI: V7 isg BOOL */
3797 #define MUIA_Popobject_Object \
3798 (MUIB_MUI | 0x004293e3) /* MUI: V7 i.g Object * */
3799 #define MUIA_Popobject_ObjStrHook \
3800 (MUIB_MUI | 0x0042db44) /* MUI: V7 isg struct Hook * */
3801 #define MUIA_Popobject_StrObjHook \
3802 (MUIB_MUI | 0x0042fbe1) /* MUI: V7 isg struct Hook * */
3803 #define MUIA_Popobject_Volatile \
3804 (MUIB_MUI | 0x004252ec) /* MUI: V7 isg BOOL */
3805 #define MUIA_Popobject_WindowHook \
3806 (MUIB_MUI | 0x0042f194) /* MUI: V9 isg struct Hook * */
3810 #endif /*_MUI_CLASSES_POPOBJECT_H */
3811 #endif
3813 #ifndef _MUI_CLASSES_CYCLE_H
3814 #ifndef _MUI_CLASSES_CYCLE_H
3815 #define _MUI_CLASSES_CYCLE_H
3818 Copyright © 2002-2013, The AROS Development Team. All rights reserved.
3819 $Id$
3822 /*** Name *******************************************************************/
3823 #define MUIC_Cycle "Cycle.mui"
3825 /*** Identifier base (for Zune extensions) **********************************/
3826 #define MUIB_Cycle (MUIB_ZUNE | 0x00000a00)
3828 /*** Attributes *************************************************************/
3829 #define MUIA_Cycle_Active (MUIB_MUI | 0x00421788) /* MUI:V4 isg LONG */
3830 #define MUIA_Cycle_Entries (MUIB_MUI | 0x00420629) /* MUI:V4 is. STRPTR */
3832 enum
3834 MUIV_Cycle_Active_Next = -1,
3835 MUIV_Cycle_Active_Prev = -2,
3839 #endif /* _MUI_CLASSES_CYCLE_H */
3840 #endif
3842 #ifndef _MUI_CLASSES_GAUGE_H
3843 #ifndef _MUI_CLASSES_GAUGE_H
3844 #define _MUI_CLASSES_GAUGE_H
3847 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3848 $Id$
3851 /*** Name *******************************************************************/
3852 #define MUIC_Gauge "Gauge.mui"
3854 /*** Identifier base (for Zune extensions) **********************************/
3855 #define MUIB_Gauge (MUIB_ZUNE | 0x00000f00)
3857 /*** Attributes *************************************************************/
3858 #define MUIA_Gauge_Current \
3859 (MUIB_MUI | 0x0042f0dd) /* MUI: V4 isg LONG */
3860 #define MUIA_Gauge_Divide \
3861 (MUIB_MUI | 0x0042d8df) /* MUI: V4 isg LONG */
3862 #define MUIA_Gauge_Horiz \
3863 (MUIB_MUI | 0x004232dd) /* MUI: V4 i.. BOOL */
3864 #define MUIA_Gauge_InfoText \
3865 (MUIB_MUI | 0x0042bf15) /* MUI: V7 isg STRPTR */
3866 #define MUIA_Gauge_Max \
3867 (MUIB_MUI | 0x0042bcdb) /* MUI: V4 isg LONG */
3869 #define MUIA_Gauge_DupInfoText \
3870 (MUIB_Gauge | 0x00000000) /* ZUNE: V1 i.. BOOL - defaults to FALSE */
3874 #endif /* _MUI_CLASSES_GAUGE_H */
3875 #endif
3877 #ifndef _MUI_CLASSES_IMAGE_H
3878 #ifndef _MUI_CLASSES_IMAGE_H
3879 #define _MUI_CLASSES_IMAGE_H
3882 Copyright 2002-2003, The AROS Development Team. All rights reserved.
3883 $Id$
3886 /*** Name *******************************************************************/
3887 #define MUIC_Image "Image.mui"
3889 /*** Identifier base (for Zune extensions) **********************************/
3890 #define MUIB_Image (MUIB_ZUNE | 0x00001300)
3892 /*** Attributes *************************************************************/
3893 #define MUIA_Image_FontMatch \
3894 (MUIB_MUI | 0x0042815d) /* MUI: V4 i.. BOOL */
3895 #define MUIA_Image_FontMatchHeight \
3896 (MUIB_MUI | 0x00429f26) /* MUI: V4 i.. BOOL */
3897 #define MUIA_Image_FontMatchWidth \
3898 (MUIB_MUI | 0x004239bf) /* MUI: V4 i.. BOOL */
3899 #define MUIA_Image_FreeHoriz \
3900 (MUIB_MUI | 0x0042da84) /* MUI: V4 i.. BOOL */
3901 #define MUIA_Image_FreeVert \
3902 (MUIB_MUI | 0x0042ea28) /* MUI: V4 i.. BOOL */
3903 #define MUIA_Image_OldImage \
3904 (MUIB_MUI | 0x00424f3d) /* MUI: V4 i.. struct Image * */
3905 #define MUIA_Image_Spec \
3906 (MUIB_MUI | 0x004233d5) /* MUI: V4 i.. char * */
3907 #define MUIA_Image_State \
3908 (MUIB_MUI | 0x0042a3ad) /* MUI: V4 is. LONG */
3912 #endif /* _MUI_CLASSES_IMAGE_H */
3913 #endif
3915 #ifndef _MUI_CLASSES_IMAGEDISPLAY_H
3916 #ifndef _MUI_CLASSES_IMAGEDISPLAY_H
3917 #define _MUI_CLASSES_IMAGEDISPLAY_H
3920 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3921 $Id$
3924 /*** Name *******************************************************************/
3925 #define MUIC_Imagedisplay "Imagedisplay.mui"
3927 /*** Identifier base (for Zune extensions) **********************************/
3928 #define MUIB_Imagedisplay (MUIB_ZUNE | 0x00001200)
3930 /*** Attributes *************************************************************/
3931 #define MUIA_Imagedisplay_Spec \
3932 (MUIB_MUI | 0x0042a547) /* MUI: V11 isg struct MUI_ImageSpec * */
3933 #define MUIA_Imagedisplay_UseDefSize \
3934 (MUIB_MUI |0x0042186d) /* MUI: V11 i.. BOOL (undoc) */
3936 #define MUIA_Imagedisplay_FreeHoriz \
3937 (MUIB_Imagedisplay | 0x00000000) /* Zune 20030323 i.. BOOL [TRUE] */
3938 #define MUIA_Imagedisplay_FreeVert \
3939 (MUIB_Imagedisplay | 0x00000001) /* Zune 20030323 i.. BOOL [TRUE] */
3943 #endif /* _MUI_CLASSES_IMAGEDISPLAY_H */
3944 #endif
3946 #ifndef _MUI_CLASSES_POPASL_H
3947 #ifndef _MUI_CLASSES_POPASL_H
3948 #define _MUI_CLASSES_POPASL_H
3951 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3952 $Id$
3955 /*** Name *******************************************************************/
3956 #define MUIC_Popasl "Popasl.mui"
3958 /*** Identifier base (for Zune extensions) **********************************/
3959 #define MUIB_Popasl (MUIB_ZUNE | 0x00002100)
3962 /*** Attributes *************************************************************/
3963 #define MUIA_Popasl_Active \
3964 (MUIB_MUI | 0x00421b37) /* MUI: V7 ..g BOOL */
3965 #define MUIA_Popasl_StartHook \
3966 (MUIB_MUI | 0x0042b703) /* MUI: V7 isg struct Hook * */
3967 #define MUIA_Popasl_StopHook \
3968 (MUIB_MUI | 0x0042d8d2) /* MUI: V7 isg struct Hook * */
3969 #define MUIA_Popasl_Type \
3970 (MUIB_MUI | 0x0042df3d) /* MUI: V7 i.g ULONG */
3974 #endif /* _MUI_CLASSES_POPASL_H */
3975 #endif
3977 #ifndef _MUI_CLASSES_SETTINGSGROUP_H
3978 #ifndef _MUI_CLASSES_SETTINGSGROUP_H
3979 #define _MUI_CLASSES_SETTINGSGROUP_H
3982 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3983 $Id$
3986 /*** Name *******************************************************************/
3987 #define MUIC_Settingsgroup "Settingsgroup.mui"
3989 /*** Identifier base (for Zune extensions) **********************************/
3990 #define MUIB_Settingsgroup (MUIB_ZUNE | 0x00003100)
3992 /*** Methods ****************************************************************/
3993 #define MUIM_Settingsgroup_ConfigToGadgets \
3994 (MUIB_MUI | 0x00427043) /* MUI: V11 */
3995 #define MUIM_Settingsgroup_GadgetsToConfig \
3996 (MUIB_MUI | 0x00425242) /* MUI: V11 */
3998 struct MUIP_Settingsgroup_ConfigToGadgets
4000 STACKED ULONG MethodID;
4001 STACKED Object *configdata;
4004 struct MUIP_Settingsgroup_GadgetsToConfig
4006 STACKED ULONG MethodID;
4007 STACKED Object *configdata;
4012 #endif /* _MUI_CLASSES_SETTINGSGROUP_H */
4013 #endif
4015 #ifndef _MUI_CLASSES_SETTINGS_H
4016 #ifndef _MUI_CLASSES_SETTINGS_H
4017 #define _MUI_CLASSES_SETTINGS_H
4020 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4021 $Id$
4024 /*** Name *******************************************************************/
4025 #define MUIC_Settings "Settings.mui"
4027 /*** Identifier base (for Zune extensions) **********************************/
4028 #define MUIB_Settings (MUIB_ZUNE | 0x00003200)
4032 #endif /* _MUI_CLASSES_SETTINGS_H */
4033 #endif
4035 #ifndef _MUI_CLASSES_ABOUTMUI_H
4037 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4038 $Id$
4041 #ifndef _MUI_CLASSES_ABOUTMUI_H
4042 #define _MUI_CLASSES_ABOUTMUI_H
4044 /*** Name *******************************************************************/
4045 #define MUIC_Aboutmui "Aboutmui.mui"
4047 /*** Identifier base (for Zune extensions) **********************************/
4048 #define MUIB_Aboutmui (MUIB_ZUNE | 0x00000000)
4050 /*** Attributes *************************************************************/
4051 #define MUIA_Aboutmui_Application (MUIB_MUI | 0x00422523) /* V11 i.. Object * */
4055 #endif /* _MUI_CLASSES_ABOUTMUI_H */
4056 #endif
4058 #ifndef _MUI_CLASSES_CONFIGDATA_H
4060 Copyright 2002-2003, The AROS Development Team. All rights reserved.
4061 $Id$
4064 #ifndef _MUI_CLASSES_CONFIGDATA_H
4065 #define _MUI_CLASSES_CONFIGDATA_H
4067 /*** Name *******************************************************************/
4068 #define MUIC_Configdata "Configdata.mui"
4070 /*** Identifier base (for Zune extensions) **********************************/
4071 #define MUIB_Configdata (MUIB_ZUNE | 0x00000900)
4073 /* The config items for MUIM_GetConfigItem */
4074 #define MUICFG_Invalid (-1)
4075 #define MUICFG_Window_Spacing_Left 0x01 /* ULONG, horiz pixels (def=4) */
4076 #define MUICFG_Window_Spacing_Right 0x02 /* ULONG, horiz pixels (def=4) */
4077 #define MUICFG_Window_Spacing_Top 0x03 /* ULONG, vert pixels (def=3) */
4078 #define MUICFG_Window_Spacing_Bottom 0x04 /* ULONG, vert pixels (def=3) */
4079 #define MUICFG_Radio_HSpacing 0x05 /* ULONG, horiz pixels (def=4) */
4080 #define MUICFG_Radio_VSpacing 0x06 /* ULONG, vertical pixels (def=1) */
4081 #define MUICFG_Group_HSpacing 0x07 /* ULONG, horiz pixels (def=6) */
4082 #define MUICFG_Group_VSpacing 0x08 /* ULONG, vertical pixels (def=3) */
4083 #define MUICFG_Scrollbar_Arrangement 0x09 /* ULONG, top = 0 (def), middle, bottom */
4084 #define MUICFG_Listview_Refresh 0x0a /* ULONG, linear, mixed = 1 (def) */
4085 #define MUICFG_Listview_Font_Leading 0x0b /* ULONG, vertical pixels (def=1) */
4086 #define MUICFG_Listview_SmoothVal 0x0c /* ULONG, ? (def=0) */
4087 #define MUICFG_Listview_Multi 0x0d /* ULONG, shifted = 0 (def), always */
4088 #define MUICFG_GroupTitle_Position 0x0f /* ULONG, 1=centered */
4089 #define MUICFG_GroupTitle_Color 0x10 /* ULONG, 0=normal */
4090 #define MUICFG_Cycle_MenuCtrl_Level 0x11 /* ULONG, num of entries (def=2) */
4091 #define MUICFG_Cycle_MenuCtrl_Position 0x12 /* ULONG, below = 0 (def), on active */
4092 #define MUICFG_Frame_Drag 0x18
4093 #define MUICFG_Cycle_Menu_Recessed 0x19 /* ULONG, false = 0 (def), true */
4094 #define MUICFG_Cycle_MenuCtrl_Speed 0x1a /* ULONG, num of ticks (0..50) (def=0) */
4095 #define MUICFG_Listview_Smoothed 0x1b /* ULONG, false = 0 (def), true */
4096 #define MUICFG_Window_Redraw 0x1d /* ULONG, no clear, clear = 1 (def) */
4097 #define MUICFG_Font_Normal 0x1e
4098 #define MUICFG_Font_List 0x1f
4099 #define MUICFG_Font_Tiny 0x20
4100 #define MUICFG_Font_Fixed 0x21
4101 #define MUICFG_Font_Title 0x22
4102 #define MUICFG_Font_Big 0x23
4103 #define MUICFG_PublicScreen 0x24
4104 #define MUICFG_Frame_Button 0x2b
4105 #define MUICFG_Frame_ImageButton 0x2c
4106 #define MUICFG_Frame_Text 0x2d
4107 #define MUICFG_Frame_String 0x2e
4108 #define MUICFG_Frame_ReadList 0x2f
4109 #define MUICFG_Frame_InputList 0x30
4110 #define MUICFG_Frame_Prop 0x31
4111 #define MUICFG_Frame_Gauge 0x32
4112 #define MUICFG_Frame_Group 0x33
4113 #define MUICFG_Frame_PopUp 0x34
4114 #define MUICFG_Frame_Virtual 0x35
4115 #define MUICFG_Frame_Slider 0x36
4116 #define MUICFG_Background_Window 0x37
4117 #define MUICFG_Background_Requester 0x38
4118 #define MUICFG_Background_Button 0x39
4119 #define MUICFG_Background_List 0x3a
4120 #define MUICFG_Background_Text 0x3b
4121 #define MUICFG_Background_Prop 0x3c
4122 #define MUICFG_Background_PopUp 0x3d
4123 #define MUICFG_Background_Selected 0x3e
4124 #define MUICFG_Background_ListCursor 0x3f
4125 #define MUICFG_Background_ListSelect 0x40
4126 #define MUICFG_Background_ListSelCur 0x41
4127 #define MUICFG_Image_ArrowUp 0x42
4128 #define MUICFG_Image_ArrowDown 0x43
4129 #define MUICFG_Image_ArrowLeft 0x44
4130 #define MUICFG_Image_ArrowRight 0x45
4131 #define MUICFG_Image_CheckMark 0x46
4132 #define MUICFG_Image_RadioButton 0x47
4133 #define MUICFG_Image_Cycle 0x48
4134 #define MUICFG_Image_PopUp 0x49
4135 #define MUICFG_Image_PopFile 0x4a
4136 #define MUICFG_Image_PopDrawer 0x4b
4137 #define MUICFG_Image_PropKnob 0x4c
4138 #define MUICFG_Image_Drawer 0x4d
4139 #define MUICFG_Image_HardDisk 0x4e
4140 #define MUICFG_Image_Disk 0x4f
4141 #define MUICFG_Image_Chip 0x50
4142 #define MUICFG_Image_Volume 0x51
4143 #define MUICFG_Image_Network 0x52
4144 #define MUICFG_Image_Assign 0x53
4145 #define MUICFG_Background_Register 0x54
4146 #define MUICFG_Image_TapePlay 0x55
4147 #define MUICFG_Image_TapePlayBack 0x56
4148 #define MUICFG_Image_TapePause 0x57
4149 #define MUICFG_Image_TapeStop 0x58
4150 #define MUICFG_Image_TapeRecord 0x59
4151 #define MUICFG_Background_Framed 0x5a
4152 #define MUICFG_Background_Slider 0x5b
4153 #define MUICFG_Background_SliderKnob 0x5c
4154 #define MUICFG_Image_TapeUp 0x5d
4155 #define MUICFG_Image_TapeDown 0x5e
4156 #define MUICFG_Keyboard_Press 0x5f
4157 #define MUICFG_Keyboard_Toggle 0x60
4158 #define MUICFG_Keyboard_Up 0x61
4159 #define MUICFG_Keyboard_Down 0x62
4160 #define MUICFG_Keyboard_PageUp 0x63
4161 #define MUICFG_Keyboard_PageDown 0x64
4162 #define MUICFG_Keyboard_Top 0x65
4163 #define MUICFG_Keyboard_Bottom 0x66
4164 #define MUICFG_Keyboard_Left 0x67
4165 #define MUICFG_Keyboard_Right 0x68
4166 #define MUICFG_Keyboard_WordLeft 0x69
4167 #define MUICFG_Keyboard_WordRight 0x6a
4168 #define MUICFG_Keyboard_LineStart 0x6b
4169 #define MUICFG_Keyboard_LineEnd 0x6c
4170 #define MUICFG_Keyboard_NextGadget 0x6d
4171 #define MUICFG_Keyboard_PrevGadget 0x6e
4172 #define MUICFG_Keyboard_GadgetOff 0x6f
4173 #define MUICFG_Keyboard_CloseWindow 0x70
4174 #define MUICFG_Keyboard_NextWindow 0x71
4175 #define MUICFG_Keyboard_PrevWindow 0x72
4176 #define MUICFG_Keyboard_Help 0x73
4177 #define MUICFG_Keyboard_Popup 0x74
4178 #define MUICFG_Window_Positions 0x7a
4179 #define MUICFG_Balance_Look 0x7b /* ULONG, frame = 0 (def), object */
4180 #define MUICFG_Font_Button 0x80
4181 #define MUICFG_Scrollbar_Type 0x83 /* ULONG, standard = 0 (def), newlook, custom */
4182 #define MUICFG_String_Background 0x84
4183 #define MUICFG_String_Text 0x85
4184 #define MUICFG_String_ActiveBackground 0x86
4185 #define MUICFG_String_ActiveText 0x87
4186 #define MUICFG_Font_Knob 0x88
4187 #define MUICFG_Drag_LeftButton 0x89 /* ULONG, false, true (def) */
4188 #define MUICFG_Drag_MiddleButton 0x8a /* ULONG, false (def), true */
4189 #define MUICFG_Drag_LMBModifier 0x8b /* key desc (def = control) */
4190 #define MUICFG_Drag_MMBModifier 0x8c /* key desc */
4191 #define MUICFG_Drag_Autostart 0x8d /* ULONG, false = 0, true (def) */
4192 #define MUICFG_Drag_Autostart_Length 0x8e /* ULONG, pixels (def = 3) */
4193 #define MUICFG_ActiveObject_Color 0x8f /* penspec */
4194 #define MUICFG_Frame_Knob 0x90
4195 #define MUICFG_Dragndrop_Look 0x94 /* ULONG, solid, ghosted on obj (def), ... */
4196 #define MUICFG_Background_Page 0x95
4197 #define MUICFG_Background_ReadList 0x96
4198 #define MUICFG_String_Cursor 0x400
4199 #define MUICFG_String_MarkedBackground 0x401
4200 #define MUICFG_String_MarkedText 0x402
4201 #define MUICFG_Register_TruncateTitles 0x403
4202 #define MUICFG_Window_Refresh 0x404
4203 #define MUICFG_Screen_Mode 0x505
4204 #define MUICFG_Screen_Mode_ID 0x506
4205 #define MUICFG_Screen_Width 0x507
4206 #define MUICFG_Screen_Height 0x508
4207 #define MUICFG_WindowPos 0x509
4208 #define MUICFG_Window_Buttons 0x50a
4210 #define MUICFG_CustomFrame_1 0x600
4211 #define MUICFG_CustomFrame_2 0x601
4212 #define MUICFG_CustomFrame_3 0x602
4213 #define MUICFG_CustomFrame_4 0x603
4214 #define MUICFG_CustomFrame_5 0x604
4215 #define MUICFG_CustomFrame_6 0x605
4216 #define MUICFG_CustomFrame_7 0x606
4217 #define MUICFG_CustomFrame_8 0x607
4218 #define MUICFG_CustomFrame_9 0x608
4219 #define MUICFG_CustomFrame_10 0x609
4220 #define MUICFG_CustomFrame_11 0x60a
4221 #define MUICFG_CustomFrame_12 0x60b
4222 #define MUICFG_CustomFrame_13 0x60c
4223 #define MUICFG_CustomFrame_14 0x60d
4224 #define MUICFG_CustomFrame_15 0x60e
4225 #define MUICFG_CustomFrame_16 0x60f
4227 #define MUICFG_PublicScreen_PopToFront 0x700
4228 #define MUICFG_Iconification_Hotkey 0x701
4229 #define MUICFG_Iconification_ShowIcon 0x702
4230 #define MUICFG_Iconification_ShowMenu 0x703
4231 #define MUICFG_Iconification_OnStartup 0x704
4232 #define MUICFG_Interfaces_EnableARexx 0x705
4233 #define MUICFG_BubbleHelp_FirstDelay 0x706
4234 #define MUICFG_BubbleHelp_NextDelay 0x707
4236 #define MUIM_Configdata_GetWindowPos (MUIB_Configdata | 0x0000002A)
4237 #define MUIM_Configdata_SetWindowPos (MUIB_Configdata | 0x0000002B)
4240 /*** Methods ****************************************************************/
4241 #define MUIM_Configdata_GetString (MUIB_Configdata | 0x00000000)
4242 #define MUIM_Configdata_GetULong (MUIB_Configdata | 0x00000001)
4243 #define MUIM_Configdata_SetULong (MUIB_Configdata | 0x00000002)
4244 #define MUIM_Configdata_SetImspec (MUIB_Configdata | 0x00000003)
4245 #define MUIM_Configdata_SetFramespec (MUIB_Configdata | 0x00000004)
4246 #define MUIM_Configdata_SetFont (MUIB_Configdata | 0x00000005)
4247 #define MUIM_Configdata_Save (MUIB_Configdata | 0x00000006)
4248 #define MUIM_Configdata_Load (MUIB_Configdata | 0x00000007)
4249 #define MUIM_Configdata_SetPenspec (MUIB_Configdata | 0x00000008)
4250 #define MUIM_Configdata_SetString (MUIB_Configdata | 0x00000009)
4252 struct MUIP_Configdata_GetString
4254 STACKED ULONG MethodID;
4255 STACKED ULONG id;
4258 struct MUIP_Configdata_GetULong
4260 STACKED ULONG MethodID;
4261 STACKED ULONG id;
4264 struct MUIP_Configdata_SetULong
4266 STACKED ULONG MethodID;
4267 STACKED ULONG id;
4268 STACKED ULONG val;
4271 struct MUIP_Configdata_SetImspec
4273 STACKED ULONG MethodID;
4274 STACKED ULONG id;
4275 STACKED CONST_STRPTR imspec;
4278 struct MUIP_Configdata_SetFramespec
4280 STACKED ULONG MethodID;
4281 STACKED ULONG id;
4282 STACKED CONST_STRPTR framespec;
4285 struct MUIP_Configdata_SetFont
4287 STACKED ULONG MethodID;
4288 STACKED ULONG id;
4289 STACKED CONST_STRPTR font;
4292 struct MUIP_Configdata_Save
4294 STACKED ULONG MethodID;
4295 STACKED CONST_STRPTR filename;
4298 struct MUIP_Configdata_Load
4300 STACKED ULONG MethodID;
4301 STACKED CONST_STRPTR filename;
4304 struct MUIP_Configdata_SetPenspec
4306 STACKED ULONG MethodID;
4307 STACKED ULONG id;
4308 STACKED CONST_STRPTR penspec;
4311 struct MUIP_Configdata_SetString
4313 STACKED ULONG MethodID;
4314 STACKED ULONG id;
4315 STACKED CONST_STRPTR string;
4318 /*** Attributes *************************************************************/
4319 #define MUIA_Configdata_Application \
4320 (MUIB_Configdata | 0x00000000) /* ZV1: i.. Object * */
4321 #define MUIA_Configdata_ApplicationBase \
4322 (MUIB_Configdata | 0x00000002) /* ZV1: i.. Object * */
4326 #endif /* _MUI_CLASSES_CONFIGDATA_H */
4327 #endif
4329 #ifndef _MUI_CLASSES_IMAGEADJUST_H
4330 #ifndef _MUI_CLASSES_IMAGEADJUST_H
4331 #define _MUI_CLASSES_IMAGEADJUST_H
4334 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4335 $Id$
4338 /*** Name *******************************************************************/
4339 #define MUIC_Imageadjust "Imageadjust.mui"
4341 /*** Identifier base (for AROS extensions) **********************************/
4342 #define MUIB_Imageadjust (MUIB_ZUNE | 0x00001100)
4344 /*** Attributes *************************************************************/
4345 #define MUIA_Imageadjust_Type \
4346 (MUIB_MUI | 0x00422f2b) /* MUI: V11 i.. LONG */
4347 #define MUIA_Imageadjust_Spec \
4348 (MUIB_MUI | 0x004279e1) /* MUI: ??? .g. char * */
4349 #define MUIA_Imageadjust_Originator \
4350 (MUIB_Imageadjust | 0x00000000) /* Zune: i.. Object * */
4352 enum
4354 MUIV_Imageadjust_Type_All = 0,
4355 MUIV_Imageadjust_Type_Image,
4356 MUIV_Imageadjust_Type_Background,
4357 MUIV_Imageadjust_Type_Pen,
4360 /*** Methods ****************************************************************/
4363 #endif /* _MUI_CLASSES_IMAGEADJUST_H */
4364 #endif
4366 #ifndef _MUI_CLASSES_POPIMAGE_H
4367 #ifndef _MUI_CLASSES_POPIMAGE_H
4368 #define _MUI_CLASSES_POPIMAGE_H
4371 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4372 $Id$
4375 /*** Name *******************************************************************/
4376 #define MUIC_Popimage "Popimage.mui"
4378 /*** Identifier base (for Zune extensions) **********************************/
4379 #define MUIB_Popimage (MUIB_ZUNE | 0x00002300)
4381 /*** Methods ****************************************************************/
4387 #endif /* _MUI_CLASSES_POPIMAGE_H */
4388 #endif
4390 #ifndef _MUI_CLASSES_SCALE_H
4391 #ifndef _MUI_CLASSES_SCALE_H
4392 #define _MUI_CLASSES_SCALE_H
4395 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4396 $Id$
4399 /*** Name *******************************************************************/
4400 #define MUIC_Scale "Scale.mui"
4402 /*** Identifier base (for Zune extensions) **********************************/
4403 #define MUIB_Scale (MUIB_ZUNE | 0x00002d00)
4405 /*** Attributes *************************************************************/
4406 #define MUIA_Scale_Horiz (MUIB_MUI | 0x0042919a) /* MUI: V4 isg BOOL */
4410 #endif /* _MUI_CLASSES_SCALE_H */
4411 #endif
4413 #ifndef _MUI_CLASSES_RADIO_H
4414 #ifndef _MUI_CLASSES_RADIO_H
4415 #define _MUI_CLASSES_RADIO_H
4418 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4419 $Id$
4422 /*** Name *******************************************************************/
4423 #define MUIC_Radio "Radio.mui"
4425 /*** Identifier base (for Zune extensions) **********************************/
4426 #define MUIB_Radio (MUIB_ZUNE | 0x00002a00)
4428 /*** Attributes *************************************************************/
4429 #define MUIA_Radio_Active \
4430 (MUIB_MUI | 0x00429b41) /* MUI:V4 isg LONG */
4431 #define MUIA_Radio_Entries \
4432 (MUIB_MUI | 0x0042b6a1) /* MUI:V4 i.. STRPTR * */
4436 #endif /* _MUI_CLASSES_RADIO_H */
4437 #endif
4439 #ifndef _MUI_CLASSES_BALANCE_H
4441 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4442 $Id$
4445 #ifndef _MUI_CLASSES_BALANCE_H
4446 #define _MUI_CLASSES_BALANCE_H
4448 /*** Name *******************************************************************/
4449 #define MUIC_Balance "Balance.mui"
4451 /*** Identifier base (for Zune extensions) **********************************/
4452 #define MUIB_Balance (MUIB_ZUNE | 0x00000300)
4454 /*** Attributes *************************************************************/
4455 #define MUIA_Balance_Quiet \
4456 (MUIB_Balance | 0x00000000) /* (zune) V20 i LONG */
4460 #endif /* _MUI_CLASSES_BALANCE_H */
4461 #endif
4463 #ifndef _MUI_CLASSES_PENDISPLAY_H
4464 #ifndef _MUI_CLASSES_PENDISPLAY_H
4465 #define _MUI_CLASSES_PENDISPLAY_H
4468 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4469 $Id$
4472 /*** Name *******************************************************************/
4473 #define MUIC_Pendisplay "Pendisplay.mui"
4475 /*** Identifier base (for Zune extensions) **********************************/
4476 #define MUIB_Pendisplay (MUIB_ZUNE | 0x00002000)
4478 /*** Methods ****************************************************************/
4479 #define MUIM_Pendisplay_SetColormap (MUIB_MUI | 0x004243a7) /* MUI: V13 */
4480 #define MUIM_Pendisplay_SetMUIPen (MUIB_MUI | 0x00426ecd) /* MUI: V13 */
4481 #define MUIM_Pendisplay_SetRGB (MUIB_MUI | 0x0042032c) /* MUI: V13 */
4483 struct MUIP_Pendisplay_SetColormap
4485 STACKED ULONG MethodID;
4486 STACKED LONG colormap;
4489 struct MUIP_Pendisplay_SetMUIPen
4491 STACKED ULONG MethodID;
4492 STACKED LONG muipen;
4495 struct MUIP_Pendisplay_SetRGB
4497 STACKED ULONG MethodID;
4498 STACKED ULONG r;
4499 STACKED ULONG g;
4500 STACKED ULONG b;
4503 /*** Attributes *************************************************************/
4504 #define MUIA_Pendisplay_Pen \
4505 (MUIB_MUI | 0x0042a748) /* MUI: V13 ..g Object * */
4506 #define MUIA_Pendisplay_Reference \
4507 (MUIB_MUI | 0x0042dc24) /* MUI: V13 isg Object * */
4508 #define MUIA_Pendisplay_RGBcolor \
4509 (MUIB_MUI | 0x0042a1a9) /* MUI: V11 isg struct MUI_RGBcolor * */
4510 #define MUIA_Pendisplay_Spec \
4511 (MUIB_MUI | 0x0042a204) /* MUI: V11 isg struct MUI_PenSpec * */
4515 #endif /* _MUI_CLASSES_PENDISPLAY_H */
4516 #endif
4518 #ifndef _MUI_CLASSES_PENADJUST_H
4519 #ifndef _MUI_CLASSES_PENADJUST_H
4520 #define _MUI_CLASSES_PENADJUST_H
4523 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4524 $Id$
4527 /*** Name *******************************************************************/
4528 #define MUIC_Penadjust "Penadjust.mui"
4530 /*** Identifier base (for Zune extensions) **********************************/
4531 #define MUIB_Penadjust (MUIB_ZUNE | 0x00001f00)
4533 /*** Attributes *************************************************************/
4534 #define MUIA_Penadjust_PSIMode \
4535 (MUIB_MUI | 0x00421cbb) /* MUI: V11 i.. BOOL */
4540 #endif /* _MUI_CLASSES_PENADJUST_H */
4541 #endif
4543 #ifndef _MUI_CLASSES_POPPEN_H
4544 #ifndef _MUI_CLASSES_POPPEN_H
4545 #define _MUI_CLASSES_POPPEN_H
4548 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4549 $Id$
4552 /*** Name *******************************************************************/
4553 #define MUIC_Poppen "Poppen.mui"
4555 /*** Identifier base (for Zune extensions) **********************************/
4556 #define MUIB_Poppen (MUIB_ZUNE | 0x00002700)
4558 /*** Methods ****************************************************************/
4564 #endif /* _MUI_CLASSES_POPPEN_H */
4565 #endif
4567 #ifndef _MUI_CLASSES_COLORFIELD_H
4569 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4570 $Id$
4573 #ifndef _MUI_CLASSES_COLORFIELD_H
4574 #define _MUI_CLASSES_COLORFIELD_H
4576 /*** Name *******************************************************************/
4577 #define MUIC_Colorfield "Colorfield.mui"
4579 /*** Identifier base (for Zune extensions) **********************************/
4580 #define MUIB_Colorfield (MUIB_ZUNE | 0x00000800)
4582 /*** Attributes *************************************************************/
4583 #define MUIA_Colorfield_Pen (MUIB_MUI | 0x0042713a) /* ..g ULONG */
4584 #define MUIA_Colorfield_Red (MUIB_MUI | 0x004279f6) /* isg ULONG */
4585 #define MUIA_Colorfield_Green (MUIB_MUI | 0x00424466) /* isg ULONG */
4586 #define MUIA_Colorfield_Blue (MUIB_MUI | 0x0042d3b0) /* isg ULONG */
4587 #define MUIA_Colorfield_RGB (MUIB_MUI | 0x0042677a) /* isg ULONG * */
4591 #endif /* _MUI_CLASSES_COLORFIELD_H */
4592 #endif
4594 #ifndef _MUI_CLASSES_COLORADJUST_H
4596 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4597 $Id$
4600 #ifndef _MUI_CLASSES_COLORADJUST_H
4601 #define _MUI_CLASSES_COLORADJUST_H
4603 /*** Name *******************************************************************/
4604 #define MUIC_Coloradjust "Coloradjust.mui"
4606 /*** Identifier base (for Zune extensions) **********************************/
4607 #define MUIB_Coloradjust (MUIB_ZUNE | 0x00000700)
4609 /*** Attributes *************************************************************/
4610 #define MUIA_Coloradjust_Red \
4611 (MUIB_MUI | 0x00420eaa) /* isg ULONG */
4612 #define MUIA_Coloradjust_Green \
4613 (MUIB_MUI | 0x004285ab) /* isg ULONG */
4614 #define MUIA_Coloradjust_Blue \
4615 (MUIB_MUI | 0x0042b8a3) /* isg ULONG */
4616 #define MUIA_Coloradjust_RGB \
4617 (MUIB_MUI | 0x0042f899) /* isg ULONG * */
4618 #define MUIA_Coloradjust_ModeID \
4619 (MUIB_MUI | 0x0042ec59) /* isg ULONG */
4623 #endif /* _MUI_CLASSES_COLORADJUST_H */
4624 #endif
4626 #ifndef _MUI_CLASSES_MCCPREFS_H
4628 Copyright © 2003, The AROS Development Team. All rights reserved.
4629 $Id$
4632 #ifndef _MUI_CLASSES_MCCPREFS_H
4633 #define _MUI_CLASSES_MCCPREFS_H
4635 #define MUIC_Mccprefs "Mccprefs.mui"
4638 #endif
4639 #endif
4641 #ifndef _MUI_CLASSES_FRAMEADJUST_H
4642 #ifndef _MUI_CLASSES_FRAMEADJUST_H
4643 #define _MUI_CLASSES_FRAMEADJUST_H
4646 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4647 $Id$
4650 /*** Name *******************************************************************/
4651 #define MUIC_Frameadjust "Frameadjust.mui"
4653 /*** Identifier base (for Zune extensions) **********************************/
4654 #define MUIB_Frameadjust (MUIB_ZUNE | 0x00000d00)
4656 /*** Attributes *************************************************************/
4657 #define MUIA_Frameadjust_Spec \
4658 (MUIB_Frameadjust | 0x00000000) /* Zune 20030330 ig. CONST_STRPTR */
4662 #endif /* _MUI_CLASSES_FRAMEADJUST_H */
4663 #endif
4665 #ifndef _MUI_CLASSES_FRAMEDISPLAY_H
4666 #ifndef _MUI_CLASSES_FRAMEDISPLAY_H
4667 #define _MUI_CLASSES_FRAMEDISPLAY_H
4670 Copyright © 2003, The AROS Development Team. All rights reserved.
4671 $Id$
4674 /*** Name *******************************************************************/
4675 #define MUIC_Framedisplay "Framedisplay.mui"
4677 /*** Identifier base (for Zune extensions) **********************************/
4678 #define MUIB_Framedisplay (MUIB_ZUNE | 0x00000e00)
4680 /*** Attributes *************************************************************/
4681 #define MUIA_Framedisplay_Spec \
4682 (MUIB_MUI | 0x00421794) /* MUI: V?? isg struct MUI_FrameSpec * */
4685 #endif /* _MUI_CLASSES_FRAMEDISPLAY_H */
4686 #endif
4688 #ifndef _MUI_CLASSES_POPFRAME_H
4689 #ifndef _MUI_CLASSES_POPFRAME_H
4690 #define _MUI_CLASSES_POPFRAME_H
4693 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4694 $Id$
4697 /*** Name *******************************************************************/
4698 #define MUIC_Popframe "Popframe.mui"
4700 /*** Identifier base (for Zune extensions) **********************************/
4701 #define MUIB_Popframe (MUIB_ZUNE | 0x00002200)
4703 /*** Methods ****************************************************************/
4709 #endif /* _MUI_CLASSES_POPFRAME_H */
4710 #endif
4712 #ifndef _MUI_CLASSES_VOLUMELIST_H
4713 #ifndef _MUI_CLASSES_VOLUMELIST_H
4714 #define _MUI_CLASSES_VOLUMELIST_H
4717 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4718 $Id$
4721 /*** Name *******************************************************************/
4722 #define MUIC_Volumelist "Volumelist.mui"
4724 /*** Identifier base (for Zune extensions) **********************************/
4725 #define MUIB_Volumelist (MUIB_ZUNE | 0x1600)
4728 #endif /* _MUI_CLASSES_VOLUMELIST_H */
4729 #endif
4731 #ifndef _MUI_CLASSES_DIRLIST_H
4732 #ifndef _MUI_CLASSES_DIRLIST_H
4733 #define _MUI_CLASSES_DIRLIST_H
4736 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4737 $Id$
4740 /****************************************************************************/
4741 /*** Name *******************************************************************/
4742 #define MUIC_Dirlist "Dirlist.mui"
4744 /*** Identifer base (for Zune extensions) ***********************************/
4745 #define MUIB_Dirlist (MUIB_ZUNE | 0x00001800)
4747 /*** Methods ****************************************************************/
4749 #define MUIM_Dirlist_ReRead (MUIB_MUI | 0x00422d71) /* MUI: V4 */
4750 struct MUIP_Dirlist_ReRead
4752 STACKED ULONG MethodID;
4755 /*** Attributes *************************************************************/
4756 #define MUIA_Dirlist_AcceptPattern \
4757 (MUIB_MUI | 0x0042760a) /* MUI: V4 is. STRPTR */
4758 #define MUIA_Dirlist_Directory \
4759 (MUIB_MUI | 0x0042ea41) /* MUI: V4 isg STRPTR */
4760 #define MUIA_Dirlist_DrawersOnly \
4761 (MUIB_MUI | 0x0042b379) /* MUI: V4 is. BOOL */
4762 #define MUIA_Dirlist_FilesOnly \
4763 (MUIB_MUI | 0x0042896a) /* MUI: V4 is. BOOL */
4764 #define MUIA_Dirlist_FilterDrawers \
4765 (MUIB_MUI | 0x00424ad2) /* MUI: V4 is. BOOL */
4766 #define MUIA_Dirlist_FilterHook \
4767 (MUIB_MUI | 0x0042ae19) /* MUI: V4 is. struct Hook * */
4768 #define MUIA_Dirlist_MultiSelDirs \
4769 (MUIB_MUI | 0x00428653) /* MUI: V6 is. BOOL */
4770 #define MUIA_Dirlist_NumBytes \
4771 (MUIB_MUI | 0x00429e26) /* MUI: V4 ..g LONG */
4772 #define MUIA_Dirlist_NumDrawers \
4773 (MUIB_MUI | 0x00429cb8) /* MUI: V4 ..g LONG */
4774 #define MUIA_Dirlist_NumFiles \
4775 (MUIB_MUI | 0x0042a6f0) /* MUI: V4 ..g LONG */
4776 #define MUIA_Dirlist_Path \
4777 (MUIB_MUI | 0x00426176) /* MUI: V4 ..g STRPTR */
4778 #define MUIA_Dirlist_RejectIcons \
4779 (MUIB_MUI | 0x00424808) /* MUI: V4 is. BOOL */
4780 #define MUIA_Dirlist_RejectPattern \
4781 (MUIB_MUI | 0x004259c7) /* MUI: V4 is. STRPTR */
4782 #define MUIA_Dirlist_SortDirs \
4783 (MUIB_MUI | 0x0042bbb9) /* MUI: V4 is. LONG */
4784 #define MUIA_Dirlist_SortHighLow \
4785 (MUIB_MUI | 0x00421896) /* MUI: V4 is. BOOL */
4786 #define MUIA_Dirlist_SortType \
4787 (MUIB_MUI | 0x004228bc) /* MUI: V4 is. LONG */
4788 #define MUIA_Dirlist_Status \
4789 (MUIB_MUI | 0x004240de) /* MUI: V4 ..g LONG */
4791 enum
4793 MUIV_Dirlist_SortDirs_First = 0,
4794 MUIV_Dirlist_SortDirs_Last,
4795 MUIV_Dirlist_SortDirs_Mix,
4798 enum
4800 MUIV_Dirlist_SortType_Name = 0,
4801 MUIV_Dirlist_SortType_Date,
4802 MUIV_Dirlist_SortType_Size,
4805 enum
4807 MUIV_Dirlist_Status_Invalid = 0,
4808 MUIV_Dirlist_Status_Reading,
4809 MUIV_Dirlist_Status_Valid,
4813 #endif /* _MUI_CLASSES_DIRLIST_H */
4814 #endif
4816 #ifndef _MUI_CLASSES_NUMERICBUTTON_H
4817 #ifndef _MUI_CLASSES_NUMERICBUTTON_H
4818 #define _MUI_CLASSES_NUMERICBUTTON_H
4821 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4822 $Id$
4825 /*** Name *******************************************************************/
4826 #define MUIC_Numericbutton "Numericbutton.mui"
4828 /*** Identifier base (for Zune extensions) **********************************/
4829 //#define MUIB_Numericbutton (MUIB_ZUNE | 0x????)
4832 #endif /* _MUI_CLASSES_NUMERICBUTTON_H */
4833 #endif
4835 #ifndef _MUI_CLASSES_POPLIST_H
4836 #ifndef _MUI_CLASSES_POPLIST_H
4837 #define _MUI_CLASSES_POPLIST_H
4840 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4841 $Id$
4844 /****************************************************************************/
4845 /*** Name *******************************************************************/
4846 #define MUIC_Poplist "Poplist.mui"
4848 /*** Identifier base (for Zune extensions) **********************************/
4849 #define MUIB_Poplist (MUIB_ZUNE | 0x00002500)
4851 /*** Attributes *************************************************************/
4852 #define MUIA_Poplist_Array \
4853 (MUIB_MUI | 0x0042084c) /* MUI: V8 i.. char ** */
4856 #endif /* _MUI_CLASSES_POPLIST_H */
4857 #endif
4859 #ifndef _MUI_CLASSES_POPSCREEN_H
4860 #ifndef _MUI_CLASSES_POPSCREEN_H
4861 #define _MUI_CLASSES_POPSCREEN_H
4864 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4865 $Id$
4868 /****************************************************************************/
4869 /*** Name *******************************************************************/
4870 #define MUIC_Popscreen "Popscreen.mui"
4872 /*** Identifier base (for Zune extensions) **********************************/
4873 #define MUIB_Popscreen (MUIB_ZUNE | 0x00002600)
4877 #endif /* _MUI_CLASSES_POPSCREEN_H */
4878 #endif
4880 #ifndef _MUI_CLASSES_CRAWLING_H
4881 #ifndef _MUI_CLASSES_CRAWLING_H
4882 #define _MUI_CLASSES_CRAWLING_H
4885 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4886 $Id$
4889 /****************************************************************************/
4890 /*** Name *******************************************************************/
4891 #define MUIC_Crawling "Crawling.mcc"
4893 /*** Identifier base (for Zune extensions) **********************************/
4894 //#define MUIB_Crawling (MUIB_ZUNE | 0x0000????)
4897 #endif /* _MUI_CLASSES_CRAWLING_H */
4898 #endif
4900 #ifndef _MUI_CLASSES_LEVELMETER_H
4901 #ifndef _MUI_CLASSES_LEVELMETER_H
4902 #define _MUI_CLASSES_LEVELMETER_H
4905 Copyright © 2002-2006, The AROS Development Team. All rights reserved.
4906 $Id$
4909 /*** Name *******************************************************************/
4910 #define MUIC_Levelmeter "Levelmeter.mui"
4912 /*** Identifier base (for Zune extensions) **********************************/
4913 //#define MUIB_Levelmeter (MUIB_ZUNE | 0x????)
4915 /*** Attributes *************************************************************/
4916 #define MUIA_Levelmeter_Label (MUIB_MUI | 0x00420dd5) /* V11 isg STRPTR */
4920 #endif /* _MUI_CLASSES_LEVELMETER_H */
4921 #endif
4923 #ifndef _MUI_CLASSES_KNOB_H
4924 #ifndef _MUI_CLASSES_KNOB_H
4925 #define _MUI_CLASSES_KNOB_H
4928 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4929 $Id$
4932 /*** Name *******************************************************************/
4933 #define MUIC_Knob "Knob.mui"
4935 /*** Identifier base (for Zune extensions) **********************************/
4936 //#define MUIB_Knob (MUIB_ZUNE | 0x????)
4939 #endif /* _MUI_CLASSES_KNOB_H */
4940 #endif
4942 #ifndef _MUI_CLASSES_DTPIC_H
4943 #ifndef _MUI_CLASSES_DTPIC_H
4944 #define _MUI_CLASSES_DTPIC_H
4947 Copyright © 2002-2009, The AROS Development Team. All rights reserved.
4948 $Id$
4951 /*** Name *******************************************************************/
4952 #define MUIC_Dtpic "Dtpic.mui"
4954 /*** Attributes *************************************************************/
4955 #define MUIA_Dtpic_Name (MUIB_MUI | 0x00423d72) /* MUI: V18 isg STRPTR */
4958 #endif /* _MUI_CLASSES_DTPIC_H */
4959 #endif
4961 #ifndef _MUI_CLASSES_PALETTE_H
4962 #ifndef _MUI_CLASSES_PALETTE_H
4963 #define _MUI_CLASSES_PALETTE_H
4966 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
4967 $Id$
4970 /*** Name *******************************************************************/
4971 #define MUIC_Palette "Palette.mui"
4973 /*** Identifier base (for Zune extensions) **********************************/
4974 #define MUIB_Palette (MUIB_ZUNE | 0x00008a00)
4976 /*** Attributes *************************************************************/
4977 #define MUIA_Palette_Entries \
4978 0x8042a3d8 /* V6 i.g struct MUI_Palette_Entry * */
4979 #define MUIA_Palette_Groupable \
4980 0x80423e67 /* V6 isg BOOL */
4981 #define MUIA_Palette_Names \
4982 0x8042c3a2 /* V6 isg char ** */
4984 #define MUIV_Palette_Entry_End -1
4986 struct MUI_Palette_Entry
4988 LONG mpe_ID;
4989 ULONG mpe_Red;
4990 ULONG mpe_Green;
4991 ULONG mpe_Blue;
4992 LONG mpe_Group;
4996 #endif /* _MUI_PALETTE_H */
4997 #endif
4999 #ifndef _MUI_CLASSES_TITLE_H
5000 #ifndef _MUI_CLASSES_TITLE_H
5001 #define _MUI_CLASSES_TITLE_H
5004 Copyright © 2012, The AROS Development Team. All rights reserved.
5005 $Id$
5008 /*** Name *******************************************************************/
5009 #define MUIC_Title "Title.mui"
5011 /*** Identifier base (for Zune extensions) **********************************/
5014 /*** Attributes *************************************************************/
5018 #endif /* _MUI_CLASSES_TITLE_H */
5019 #endif
5021 #ifndef _MUI_CLASSES_PROCESS_H
5022 #ifndef _MUI_CLASSES_PROCESS_H
5023 #define _MUI_CLASSES_PROCESS_H
5026 Copyright © 2012, The AROS Development Team. All rights reserved.
5027 $Id$
5030 /*** Name *******************************************************************/
5031 #define MUIC_Process "Process.mui"
5033 /*** Identifier base (for Zune extensions) **********************************/
5035 /*** Methods ****************************************************************/
5036 #define MUIM_Process_Kill (MUIB_MUI | 0x004264cf) /* V20 */
5037 #define MUIM_Process_Launch (MUIB_MUI | 0x00425df7) /* V20 */
5038 #define MUIM_Process_Process (MUIB_MUI | 0x004230aa) /* V20 */
5039 #define MUIM_Process_Signal (MUIB_MUI | 0x0042e791) /* V20 */
5041 struct MUIP_Process_Kill
5043 STACKED ULONG MethodID;
5044 STACKED LONG maxdelay;
5047 struct MUIP_Process_Launch
5049 STACKED ULONG MethodID;
5052 struct MUIP_Process_Process
5054 STACKED ULONG MethodID;
5055 STACKED ULONG *kill;
5056 STACKED Object *proc;
5059 struct MUIP_Process_Signal
5061 STACKED ULONG MethodID;
5062 STACKED ULONG sigs;
5065 /*** Attributes *************************************************************/
5066 #define MUIA_Process_AutoLaunch \
5067 (MUIB_MUI | 0x00428855) /* V20 i.. ULONG */
5068 #define MUIA_Process_Name \
5069 (MUIB_MUI | 0x0042732b) /* V20 i.. ULONG */
5070 #define MUIA_Process_Priority \
5071 (MUIB_MUI | 0x00422a54) /* V20 i.. ULONG */
5072 #define MUIA_Process_SourceClass \
5073 (MUIB_MUI | 0x0042cf8b) /* V20 i.. ULONG */
5074 #define MUIA_Process_SourceObject \
5075 (MUIB_MUI | 0x004212a2) /* V20 i.. ULONG */
5076 #define MUIA_Process_StackSize \
5077 (MUIB_MUI | 0x004230d0) /* V20 i.. ULONG */
5078 #define MUIA_Process_Task \
5079 (MUIB_MUI | 0x0042b123) /* V20 ..g ULONG */
5083 #endif /* _MUI_CLASSES_PROCESS_H */
5084 #endif
5086 #ifndef _MUI_CLASSES_PIXMAP_H
5087 #ifndef _MUI_CLASSES_PIXMAP_H
5088 #define _MUI_CLASSES_PIXMAP_H
5091 Copyright © 2011, Thore Böckelmann. All rights reserved.
5092 Copyright © 2012, The AROS Development Team. All rights reserved.
5093 $Id$
5096 /*** Name *******************************************************************/
5097 #define MUIC_Pixmap "Pixmap.mui"
5099 /*** Identifier base (for Zune extensions) **********************************/
5100 #define MUIB_Pixmap (MUIB_ZUNE | 0x00003600)
5102 /*** Methods ****************************************************************/
5103 #define MUIM_Pixmap_DrawSection (MUIB_MUI | 0x0042ce0f) /* private, V20 */
5105 struct MUIP_Pixmap_DrawSection
5107 STACKED ULONG MethodID;
5108 STACKED LONG sx;
5109 STACKED LONG sy;
5110 STACKED LONG sw;
5111 STACKED LONG sh;
5112 STACKED struct MUI_RenderInfo *mri;
5113 STACKED LONG dx;
5114 STACKED LONG dy;
5115 }; /* private */
5117 /*** Attributes *************************************************************/
5118 #define MUIA_Pixmap_Alpha \
5119 (MUIB_MUI | 0x00421fef) /* V20 isg ULONG */
5120 #define MUIA_Pixmap_CLUT \
5121 (MUIB_MUI | 0x0042042a) /* V20 isg ULONG * */
5122 #define MUIA_Pixmap_CompressedSize \
5123 (MUIB_MUI | 0x0042e7e4) /* V20 isg ULONG */
5124 #define MUIA_Pixmap_Compression \
5125 (MUIB_MUI | 0x0042ce74) /* V20 isg ULONG */
5126 #define MUIA_Pixmap_Data \
5127 (MUIB_MUI | 0x00429ea0) /* V20 isg APTR */
5128 #define MUIA_Pixmap_Format \
5129 (MUIB_MUI | 0x0042ab14) /* V20 isg ULONG */
5130 #define MUIA_Pixmap_Height \
5131 (MUIB_MUI | 0x004288be) /* V20 isg LONG */
5132 #define MUIA_Pixmap_UncompressedData \
5133 (MUIB_MUI | 0x0042b085) /* V20 ..g APTR */
5134 #define MUIA_Pixmap_Width \
5135 (MUIB_MUI | 0x0042ccb8) /* V20 isg LONG */
5137 #define MUIV_Pixmap_Compression_None 0
5138 #define MUIV_Pixmap_Compression_RLE 1
5139 #define MUIV_Pixmap_Compression_BZip2 2
5140 #define MUIV_Pixmap_Format_CLUT8 0
5141 #define MUIV_Pixmap_Format_RGB24 1
5142 #define MUIV_Pixmap_Format_ARGB32 2
5146 #endif
5147 #endif
5149 /**************************************************************************
5150 Zune/MUI Image and Background definition
5151 **************************************************************************/
5152 /* configured by the user within the prefs program */
5153 #define MUII_WindowBack 0UL
5154 #define MUII_RequesterBack 1UL
5155 #define MUII_ButtonBack 2UL
5156 #define MUII_ListBack 3UL
5157 #define MUII_TextBack 4UL
5158 #define MUII_PropBack 5UL
5159 #define MUII_PopupBack 6UL
5160 #define MUII_SelectedBack 7UL
5161 #define MUII_ListCursor 8UL
5162 #define MUII_ListSelect 9UL
5163 #define MUII_ListSelCur 10UL
5164 #define MUII_ArrowUp 11UL
5165 #define MUII_ArrowDown 12UL
5166 #define MUII_ArrowLeft 13UL
5167 #define MUII_ArrowRight 14UL
5168 #define MUII_CheckMark 15UL
5169 #define MUII_RadioButton 16UL
5170 #define MUII_Cycle 17UL
5171 #define MUII_PopUp 18UL
5172 #define MUII_PopFile 19UL
5173 #define MUII_PopDrawer 20UL
5174 #define MUII_PropKnob 21UL
5175 #define MUII_Drawer 22UL
5176 #define MUII_HardDisk 23UL
5177 #define MUII_Disk 24UL
5178 #define MUII_Chip 25UL
5179 #define MUII_Volume 26UL
5180 #define MUII_RegisterBack 27UL
5181 #define MUII_Network 28UL
5182 #define MUII_Assign 29UL
5183 #define MUII_TapePlay 30UL
5184 #define MUII_TapePlayBack 31UL
5185 #define MUII_TapePause 32UL
5186 #define MUII_TapeStop 33UL
5187 #define MUII_TapeRecord 34UL
5188 #define MUII_GroupBack 35UL
5189 #define MUII_SliderBack 36UL
5190 #define MUII_SliderKnob 37UL
5191 #define MUII_TapeUp 38UL
5192 #define MUII_TapeDown 39UL
5193 #define MUII_PageBack 40UL
5194 #define MUII_ReadListBack 41UL
5195 #define MUII_Count 42UL
5197 /* direct colors and combinations */
5198 #define MUII_BACKGROUND 128UL
5199 #define MUII_SHADOW 129UL
5200 #define MUII_SHINE 130UL
5201 #define MUII_FILL 131UL
5202 #define MUII_SHADOWBACK 132UL
5203 #define MUII_SHADOWFILL 133UL
5204 #define MUII_SHADOWSHINE 134UL
5205 #define MUII_FILLBACK 135UL
5206 #define MUII_FILLSHINE 136UL
5207 #define MUII_SHINEBACK 137UL
5208 #define MUII_FILLBACK2 138UL
5209 #define MUII_HSHINEBACK 139UL
5210 #define MUII_HSHADOWBACK 140UL
5211 #define MUII_HSHINESHINE 141UL
5212 #define MUII_HSHADOWSHADOW 142UL
5213 #define MUII_MARKSHINE 143UL
5214 #define MUII_MARKHALFSHINE 144UL
5215 #define MUII_MARKBACKGROUND 145UL
5216 #define MUII_LASTPAT 146UL
5219 /**************************************************************************
5220 For ARexx
5221 **************************************************************************/
5222 struct MUI_Command
5224 char *mc_Name;
5225 char *mc_Template;
5226 LONG mc_Parameters;
5227 struct Hook *mc_Hook;
5228 LONG mc_Reserved[5];
5231 #define MC_TEMPLATE_ID ((STRPTR)~0)
5233 #define MUI_RXERR_BADDEFINITION -1
5234 #define MUI_RXERR_OUTOFMEMORY -2
5235 #define MUI_RXERR_UNKNOWNCOMMAND -3
5236 #define MUI_RXERR_BADSYNTAX -4
5238 #ifndef _MUI_MACROS_H
5239 #ifndef _MUI_MACROS_H
5240 #define _MUI_MACROS_H
5243 Copyright © 2002-2007, The AROS Development Team. All rights reserved.
5244 $Id$
5246 Macros available in original MUI and also some additional ones.
5249 /* Some nice macrodefinitions for creating your object tree */
5250 #define MenustripObject MUIOBJMACRO_START(MUIC_Menustrip)
5251 #define MenuObject MUIOBJMACRO_START(MUIC_Menu)
5252 #define MenuObjectT(name) MUIOBJMACRO_START(MUIC_Menu), MUIA_Menu_Title, name
5253 #define MenuitemObject MUIOBJMACRO_START(MUIC_Menuitem)
5254 #define WindowObject MUIOBJMACRO_START(MUIC_Window)
5255 #define ImageObject MUIOBJMACRO_START(MUIC_Image)
5256 #define ImagedisplayObject MUIOBJMACRO_START(MUIC_Imagedisplay)
5257 #define BitmapObject MUIOBJMACRO_START(MUIC_Bitmap)
5258 #define BodychunkObject MUIOBJMACRO_START(MUIC_Bodychunk)
5259 #define ChunkyImageObject MUIOBJMACRO_START(MUIC_ChunkyImage)
5260 #define NotifyObject MUIOBJMACRO_START(MUIC_Notify)
5261 #define ApplicationObject MUIOBJMACRO_START(MUIC_Application)
5262 #define TextObject MUIOBJMACRO_START(MUIC_Text)
5263 #define RectangleObject MUIOBJMACRO_START(MUIC_Rectangle)
5264 #define BalanceObject MUIOBJMACRO_START(MUIC_Balance)
5265 #define ListObject MUIOBJMACRO_START(MUIC_List)
5266 #define PropObject MUIOBJMACRO_START(MUIC_Prop)
5267 #define StringObject MUIOBJMACRO_START(MUIC_String)
5268 #define ScrollbarObject MUIOBJMACRO_START(MUIC_Scrollbar)
5269 #define ListviewObject MUIOBJMACRO_START(MUIC_Listview)
5270 #define RadioObject MUIOBJMACRO_START(MUIC_Radio)
5271 #define VolumelistObject MUIOBJMACRO_START(MUIC_Volumelist)
5272 #define FloattextObject MUIOBJMACRO_START(MUIC_Floattext)
5273 #define DirlistObject MUIOBJMACRO_START(MUIC_Dirlist)
5274 #define CycleObject MUIOBJMACRO_START(MUIC_Cycle)
5275 #define GaugeObject MUIOBJMACRO_START(MUIC_Gauge)
5276 #define ScaleObject MUIOBJMACRO_START(MUIC_Scale)
5277 #define NumericObject MUIOBJMACRO_START(MUIC_Numeric)
5278 #define SliderObject MUIOBJMACRO_START(MUIC_Slider)
5279 #define NumericbuttonObject MUIOBJMACRO_START(MUIC_Numericbutton)
5280 #define KnobObject MUIOBJMACRO_START(MUIC_Knob)
5281 #define LevelmeterObject MUIOBJMACRO_START(MUIC_Levelmeter)
5282 #define BoopsiObject MUIOBJMACRO_START(MUIC_Boopsi)
5283 #define ColorfieldObject MUIOBJMACRO_START(MUIC_Colorfield)
5284 #define PenadjustObject MUIOBJMACRO_START(MUIC_Penadjust)
5285 #define ColoradjustObject MUIOBJMACRO_START(MUIC_Coloradjust)
5286 #define PaletteObject MUIOBJMACRO_START(MUIC_Palette)
5287 #define GroupObject MUIOBJMACRO_START(MUIC_Group)
5288 #define RegisterObject MUIOBJMACRO_START(MUIC_Register)
5289 #define VirtgroupObject MUIOBJMACRO_START(MUIC_Virtgroup)
5290 #define ScrollgroupObject MUIOBJMACRO_START(MUIC_Scrollgroup)
5291 #define PopstringObject MUIOBJMACRO_START(MUIC_Popstring)
5292 #define PopobjectObject MUIOBJMACRO_START(MUIC_Popobject)
5293 #define PoplistObject MUIOBJMACRO_START(MUIC_Poplist)
5294 #define PopscreenObject MUIOBJMACRO_START(MUIC_Popscreen)
5295 #define PopaslObject MUIOBJMACRO_START(MUIC_Popasl)
5296 #define PendisplayObject MUIOBJMACRO_START(MUIC_Pendisplay)
5297 #define PoppenObject MUIOBJMACRO_START(MUIC_Poppen)
5298 #define CrawlingObject MUIOBJMACRO_START(MUIC_Crawling)
5299 /* The following in zune only */
5300 #define PopimageObject MUIOBJMACRO_START(MUIC_Popimage)
5301 #define PopframeObject MUIOBJMACRO_START(MUIC_Popframe)
5302 #define AboutmuiObject MUIOBJMACRO_START(MUIC_Aboutmui)
5303 #define ScrmodelistObject MUIOBJMACRO_START(MUIC_Scrmodelist)
5304 #define KeyentryObject MUIOBJMACRO_START(MUIC_Keyentry)
5305 #define VGroup MUIOBJMACRO_START(MUIC_Group)
5306 #define HGroup \
5307 MUIOBJMACRO_START(MUIC_Group), MUIA_Group_Horiz, TRUE
5308 #define ColGroup(columns) \
5309 MUIOBJMACRO_START(MUIC_Group), MUIA_Group_Columns, (columns)
5310 #define RowGroup(rows) \
5311 MUIOBJMACRO_START(MUIC_Group), MUIA_Group_Rows , (rows)
5312 #define PageGroup \
5313 MUIOBJMACRO_START(MUIC_Group), MUIA_Group_PageMode, TRUE
5314 #define VGroupV MUIOBJMACRO_START(MUIC_Virtgroup)
5315 #define HGroupV \
5316 MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_Horiz, TRUE
5317 #define ColGroupV(columns) \
5318 MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_Columns, (columns)
5319 #define RowGroupV(rows) \
5320 MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_Rows , (rows)
5321 #define PageGroupV \
5322 MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_PageMode, TRUE
5323 #define RegisterGroup(ts) \
5324 MUIOBJMACRO_START(MUIC_Register), MUIA_Register_Titles, ((IPTR) (ts))
5326 #define End OBJMACRO_END
5328 #define Child MUIA_Group_Child
5329 #define SubWindow MUIA_Application_Window
5330 #define WindowContents MUIA_Window_RootObject
5333 /**************************************************************************
5334 Zune/MUI's differnt frame types. Use one per object
5335 **************************************************************************/
5336 #define NoFrame MUIA_Frame, MUIV_Frame_None
5337 #define ButtonFrame MUIA_Frame, MUIV_Frame_Button
5338 #define ImageButtonFrame MUIA_Frame, MUIV_Frame_ImageButton
5339 #define TextFrame MUIA_Frame, MUIV_Frame_Text
5340 #define StringFrame MUIA_Frame, MUIV_Frame_String
5341 #define ReadListFrame MUIA_Frame, MUIV_Frame_ReadList
5342 #define InputListFrame MUIA_Frame, MUIV_Frame_InputList
5343 #define PropFrame MUIA_Frame, MUIV_Frame_Prop
5344 #define SliderFrame MUIA_Frame, MUIV_Frame_Slider
5345 #define GaugeFrame MUIA_Frame, MUIV_Frame_Gauge
5346 #define VirtualFrame MUIA_Frame, MUIV_Frame_Virtual
5347 #define GroupFrame MUIA_Frame, MUIV_Frame_Group
5348 #define GroupFrameT(t) MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, \
5349 ((IPTR) (t)), MUIA_Background, MUII_GroupBack
5352 /**************************************************************************
5353 Space objects
5354 **************************************************************************/
5355 #define HVSpace MUI_NewObject(MUIC_Rectangle,TAG_DONE)
5356 #define HSpace(x) MUI_MakeObject(MUIO_HSpace,x)
5357 #define VSpace(x) MUI_MakeObject(MUIO_VSpace,x)
5358 #define HBar(x) MUI_MakeObject(MUIO_HBar,x)
5359 #define VBar(x) MUI_MakeObject(MUIO_VBar,x)
5360 #define HCenter(obj) (HGroup, GroupSpacing(0), Child, (IPTR)HSpace(0), \
5361 Child, (IPTR)(obj), Child, (IPTR)HSpace(0), End)
5362 #define VCenter(obj) (VGroup, GroupSpacing(0), Child, (IPTR)VSpace(0), \
5363 Child, (IPTR)(obj), Child, (IPTR)VSpace(0), End)
5364 #define InnerSpacing(h, v) MUIA_InnerLeft, (h) ,MUIA_InnerRight, (h), \
5365 MUIA_InnerTop, (v), MUIA_InnerBottom, (v)
5366 #define GroupSpacing(x) MUIA_Group_Spacing, x
5368 #ifdef MUI_OBSOLETE
5369 /**************************************************************************
5370 These macros will create a simple string gadget. Don't use this in
5371 new code. Use MUI_MakeObject() instead.
5372 **************************************************************************/
5373 #define String(contents,maxlen)\
5374 StringObject,\
5375 StringFrame,\
5376 MUIA_String_MaxLen , maxlen,\
5377 MUIA_String_Contents, contents,\
5380 #define KeyString(contents,maxlen,controlchar)\
5381 StringObject,\
5382 StringFrame,\
5383 MUIA_ControlChar , controlchar,\
5384 MUIA_String_MaxLen , maxlen,\
5385 MUIA_String_Contents, contents,\
5388 #endif
5390 #ifdef MUI_OBSOLETE
5391 /**************************************************************************
5392 These macros will create a simple checkmark gadget. Don't use this in
5393 new code. Use MUI_MakeObject() instead.
5394 **************************************************************************/
5395 #define CheckMark(sel) ImageObject, ImageButtonFrame, MUIA_InputMode, \
5396 MUIV_InputMode_Toggle, MUIA_Image_Spec, MUII_CheckMark, \
5397 MUIA_Image_FreeVert, TRUE, MUIA_Background, MUII_ButtonBack, \
5398 MUIA_ShowSelState, FALSE, MUIA_Selected, sel, End
5399 #define KeyCheckMark(sel,ctrl) ImageObject, ImageButtonFrame, \
5400 MUIA_InputMode, MUIV_InputMode_Toggle, MUIA_Image_Spec, MUII_CheckMark, \
5401 MUIA_Image_FreeVert, TRUE, MUIA_Background, MUII_ButtonBack, \
5402 MUIA_ShowSelState, FALSE, MUIA_Selected, sel, MUIA_ControlChar, ctrl, End
5403 #endif
5406 /**************************************************************************
5407 These macros will create a simple button. It's simply calling
5408 MUI_MakeObject()
5409 **************************************************************************/
5410 #define SimpleButton(label) MUI_MakeObject(MUIO_Button,(IPTR)(label))
5411 #define ImageButton(label, imagePath) MUI_MakeObject(MUIO_ImageButton, \
5412 (IPTR) (label), (IPTR) (imagePath))
5414 #define CoolImageButton(label,image) MUI_MakeObject(MUIO_CoolButton, \
5415 (IPTR)(label), (IPTR)(image), 0)
5416 #define CoolImageIDButton(label,imageid) MUI_MakeObject(MUIO_CoolButton, \
5417 (IPTR)(label), imageid, MUIO_CoolButton_CoolImageID)
5419 #ifdef MUI_OBSOLETE
5420 /**************************************************************************
5421 A Keybutton macro. The key should be in lower case.
5422 Don't use this in new code. Use MUI_MakeObject() instead.
5423 **************************************************************************/
5424 #define KeyButton(name,key) TextObject, ButtonFrame, \
5425 MUIA_Font, MUIV_Font_Button, MUIA_Text_Contents, (IPTR)(name), \
5426 MUIA_Text_PreParse, "\33c", MUIA_Text_HiChar, (IPTR)(key), \
5427 MUIA_ControlChar, key, MUIA_InputMode, MUIV_InputMode_RelVerify, \
5428 MUIA_Background, MUII_ButtonBack, End
5429 #endif
5432 #ifdef MUI_OBSOLETE
5433 /**************************************************************************
5434 Obsolete Cycle macros
5435 **************************************************************************/
5436 #define Cycle(ent) CycleObject, MUIA_Font, MUIV_Font_Button, \
5437 MUIA_Cycle_Entries, ent, End
5438 #define KeyCycle(ent,key) CycleObject, MUIA_Font, MUIV_Font_Button, \
5439 MUIA_Cycle_Entries, ent, MUIA_ControlChar, key, End
5441 /**************************************************************************
5442 Obsolete Radios macros
5443 **************************************************************************/
5444 #define Radio(name,array) RadioObject, GroupFrameT(name), \
5445 MUIA_Radio_Entries, (IPTR)(array), End
5446 #define KeyRadio(name,array,key) RadioObject, GroupFrameT(name), \
5447 MUIA_Radio_Entries, (IPTR)(array), MUIA_ControlChar, (IPTR)(key), End
5449 /**************************************************************************
5450 Obsolete Slider macros
5451 **************************************************************************/
5452 #define Slider(min,max,level) SliderObject, MUIA_Numeric_Min, min, \
5453 MUIA_Numeric_Max, max, MUIA_Numeric_Value, level, End
5454 #define KeySlider(min,max,level,key) SliderObject, MUIA_Numeric_Min, min, \
5455 MUIA_Numeric_Max, max, MUIA_Numeric_Value, level, MUIA_ControlChar, key, \
5457 #endif
5461 /**************************************************************************
5462 Use this for getting a pop button
5463 **************************************************************************/
5464 #define PopButton(img) MUI_MakeObject(MUIO_PopButton, img)
5467 /**************************************************************************
5468 Macros for Labelobjects
5469 Use them for example in a group containing 2 columns, in the first
5470 columns the label and in the second columns the object.
5472 These objects should be uses because the user might have set strange
5473 values.
5475 xxxLabel() is suited for Objects without frame
5476 xxxLabel1() is suited for objects with a single frame, like buttons
5477 xxxLabel2() is suited for objects with with double frames, like string gadgets
5478 **************************************************************************/
5480 /* Right aligned */
5481 #define Label(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), 0)
5482 #define Label1(label) \
5483 MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_SingleFrame)
5484 #define Label2(label) \
5485 MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_DoubleFrame)
5487 /* Left aligned */
5488 #define LLabel(label) \
5489 MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_LeftAligned)
5490 #define LLabel1(label) \
5491 MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5492 MUIO_Label_LeftAligned | MUIO_Label_SingleFrame)
5493 #define LLabel2(label) \
5494 MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5495 MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame)
5497 /* Centered */
5498 #define CLabel(label) \
5499 MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_Centered)
5500 #define CLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5501 MUIO_Label_Centered | MUIO_Label_SingleFrame)
5502 #define CLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5503 MUIO_Label_Centered | MUIO_Label_DoubleFrame)
5505 /* Freevert - Right aligned */
5506 #define FreeLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5507 MUIO_Label_FreeVert)
5508 #define FreeLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5509 MUIO_Label_FreeVert | MUIO_Label_SingleFrame)
5510 #define FreeLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5511 MUIO_Label_FreeVert | MUIO_Label_DoubleFrame)
5513 /* Freevert - Left aligned */
5514 #define FreeLLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5515 MUIO_Label_FreeVert | MUIO_Label_LeftAligned)
5516 #define FreeLLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5517 MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_SingleFrame)
5518 #define FreeLLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5519 MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame)
5521 /* Freevert - Centered */
5522 #define FreeCLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5523 MUIO_Label_FreeVert | MUIO_Label_Centered)
5524 #define FreeCLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5525 MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_SingleFrame)
5526 #define FreeCLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5527 MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_DoubleFrame)
5529 /* The same as above + keys */
5530 #define KeyLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), key)
5531 #define KeyLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5532 MUIO_Label_SingleFrame | (key))
5533 #define KeyLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5534 MUIO_Label_DoubleFrame | (key))
5535 #define KeyLLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5536 MUIO_Label_LeftAligned | (key))
5537 #define KeyLLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5538 MUIO_Label_LeftAligned | MUIO_Label_SingleFrame|(key))
5539 #define KeyLLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5540 MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame|(key))
5541 #define KeyCLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5542 MUIO_Label_Centered | (key))
5543 #define KeyCLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5544 MUIO_Label_Centered | MUIO_Label_SingleFrame|(key))
5545 #define KeyCLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5546 MUIO_Label_Centered | MUIO_Label_DoubleFrame|(key))
5548 #define FreeKeyLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5549 MUIO_Label_FreeVert | (key))
5550 #define FreeKeyLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5551 MUIO_Label_FreeVert | MUIO_Label_SingleFrame | (key))
5552 #define FreeKeyLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5553 MUIO_Label_FreeVert | MUIO_Label_DoubleFrame | (key))
5554 #define FreeKeyLLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5555 MUIO_Label_FreeVert | MUIO_Label_LeftAligned | (key))
5556 #define FreeKeyLLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5557 MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_SingleFrame | (key))
5558 #define FreeKeyLLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5559 MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame | (key))
5560 #define FreeKeyCLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5561 MUIO_Label_FreeVert | MUIO_Label_Centered | (key))
5562 #define FreeKeyCLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5563 MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_SingleFrame | (key))
5564 #define FreeKeyCLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), \
5565 MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_DoubleFrame | (key))
5568 /* Some macros */
5569 #ifndef __cplusplus
5571 #ifdef __GNUC__
5572 #define get(obj, attr, storage) \
5573 ({ \
5574 union { \
5575 IPTR __zune_get_storage; \
5576 typeof(*storage) __zune_val_storage; \
5577 } __tmp; \
5578 __tmp.__zune_val_storage = *storage; \
5579 ULONG __zune_get_ret = GetAttr((attr), (obj), &__tmp.__zune_get_storage); \
5580 *(storage) = __tmp.__zune_val_storage; \
5581 __zune_get_ret; \
5583 #else /* !__GNUC__ */
5584 #define get(obj,attr,store) GetAttr(attr,obj,(IPTR *)store)
5585 #endif /* !__GNUC__ */
5587 #ifdef __GNUC__
5588 #define XGET(object, attribute) \
5589 ({ \
5590 IPTR __storage = 0; \
5591 GetAttr((attribute), (object), &__storage); \
5592 __storage; \
5594 #endif /* __GNUC__ */
5596 #define set(obj, attr, value) SetAttrs(obj, attr, (IPTR)(value), TAG_DONE)
5597 #define nnset(obj, attr, value) SetAttrs(obj, MUIA_NoNotify, TRUE, attr, \
5598 (IPTR)(value), TAG_DONE)
5600 /* Zune */
5601 #define nfset(obj, attr, value) SetAttrs(obj, MUIA_Group_Forward, FALSE, \
5602 attr, (IPTR)(value), TAG_DONE)
5603 #define nnfset(obj, attr, value) SetAttrs(obj, MUIA_Group_Forward, FALSE, \
5604 MUIA_NoNotify, TRUE, attr, (IPTR)(value), TAG_DONE)
5606 /* Some aliases... */
5607 #define GET(obj, attr, store) get(obj, attr, store)
5608 #define SET(obj, attr, value) set(obj, attr, value)
5609 #define NNSET(obj, attr, value) nnset(obj, attr, value)
5610 #define NFSET(obj, attr, value) nfset(obj, attr, value)
5611 #define NNFSET(obj, attr, value) nnfset(obj, attr, value)
5613 #define setmutex(obj, n) set(obj, MUIA_Radio_Active, n)
5614 #define setcycle(obj, n) set(obj, MUIA_Cycle_Active, n)
5615 #define setstring(obj, s) set(obj, MUIA_String_Contents, (IPTR)(s))
5616 #define setcheckmark(obj, b) set(obj, MUIA_Selected, b)
5617 #define setslider(obj, l) set(obj, MUIA_Numeric_Value, l)
5619 #endif /* __cplusplus */
5622 /* We need the notify and area Instace Data at least here, but this stuff should be placed at the button anywhy */
5623 #ifndef _MUI_CLASSES_NOTIFY_H
5624 #endif
5626 #ifndef _MUI_CLASSES_AREA_H
5627 #endif
5629 struct __dummyAreaData__
5631 struct MUI_NotifyData mnd;
5632 struct MUI_AreaData mad;
5635 #define muiNotifyData(obj) (&(((struct __dummyAreaData__ *)(obj))->mnd))
5636 #define muiAreaData(obj) (&(((struct __dummyAreaData__ *)(obj))->mad))
5638 #define muiGlobalInfo(obj) \
5639 (((struct __dummyAreaData__ *)(obj))->mnd.mnd_GlobalInfo)
5640 #define muiUserData(obj) \
5641 (((struct __dummyAreaData__ *)(obj))->mnd.mnd_UserData)
5642 #define muiRenderInfo(obj) \
5643 (((struct __dummyAreaData__ *)(obj))->mad.mad_RenderInfo)
5646 /* the following macros are only valid inbetween MUIM_Setup and MUIM_Cleanup */
5647 #define _app(obj) (muiGlobalInfo(obj)->mgi_ApplicationObject)
5648 #define _win(obj) (muiRenderInfo(obj)->mri_WindowObject)
5649 #define _dri(obj) (muiRenderInfo(obj)->mri_DrawInfo)
5650 #define _screen(obj) (muiRenderInfo(obj)->mri_Screen)
5651 #define _pens(obj) (muiRenderInfo(obj)->mri_Pens)
5652 #define _font(obj) (muiAreaData(obj)->mad_Font)
5654 /* the following macros are only valid during MUIM_Draw */
5655 #define _left(obj) (muiAreaData(obj)->mad_Box.Left)
5656 #define _top(obj) (muiAreaData(obj)->mad_Box.Top)
5657 #define _width(obj) (muiAreaData(obj)->mad_Box.Width)
5658 #define _height(obj) (muiAreaData(obj)->mad_Box.Height)
5659 #define _right(obj) (_left(obj) + _width(obj) - 1)
5660 #define _bottom(obj) (_top(obj) + _height(obj) - 1)
5661 #define _addleft(obj) (muiAreaData(obj)->mad_addleft )
5662 #define _addtop(obj) (muiAreaData(obj)->mad_addtop )
5663 #define _subwidth(obj) (muiAreaData(obj)->mad_subwidth )
5664 #define _subheight(obj) (muiAreaData(obj)->mad_subheight)
5665 #define _mleft(obj) (_left(obj) + _addleft(obj))
5666 #define _mtop(obj) (_top(obj) + _addtop(obj))
5667 #define _mwidth(obj) (_width(obj) - _subwidth(obj))
5668 #define _mheight(obj) (_height(obj) - _subheight(obj))
5669 #define _mright(obj) (_mleft(obj) + _mwidth(obj) - 1)
5670 #define _mbottom(obj) (_mtop(obj) + _mheight(obj) - 1)
5672 /* the following macros are only valid inbetween MUIM_Show and MUIM_Hide */
5673 #define _window(obj) (muiRenderInfo(obj)->mri_Window)
5674 #define _rp(obj) (muiRenderInfo(obj)->mri_RastPort)
5675 #define _minwidth(obj) (muiAreaData(obj)->mad_MinMax.MinWidth)
5676 #define _minheight(obj) (muiAreaData(obj)->mad_MinMax.MinHeight)
5677 #define _maxwidth(obj) (muiAreaData(obj)->mad_MinMax.MaxWidth)
5678 #define _maxheight(obj) (muiAreaData(obj)->mad_MinMax.MaxHeight)
5679 #define _defwidth(obj) (muiAreaData(obj)->mad_MinMax.DefWidth)
5680 #define _defheight(obj) (muiAreaData(obj)->mad_MinMax.DefHeight)
5681 #define _flags(obj) (muiAreaData(obj)->mad_Flags)
5685 #endif /* _MUI_MACROS_H */
5686 #endif
5688 #endif /* LIBRARIES_MUI_H */