SDI headers and muiaros.h updated.
[AROS.git] / workbench / classes / zune / texteditor / include / libraries / muiaros.h
blob1c00aa49c2ff4b3225b222220c0c77bac1856129
1 /*
2 Copyright 2002-2010, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef LIBRARIES_MUIAROS_H
7 #define LIBRARIES_MUIAROS_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-2003, 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 STRPTR mnd_HelpNode;/* priv3 */
404 LONG mnd_HelpLine;/* 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 */
431 struct MUIP_CallHook {STACKED ULONG MethodID; STACKED struct Hook *Hook; STACKED IPTR param1; /* more might follow */};
432 struct MUIP_Export {STACKED ULONG MethodID; STACKED Object *dataspace;};
433 struct MUIP_FindUData {STACKED ULONG MethodID; STACKED IPTR udata;};
434 struct MUIP_GetConfigItem {STACKED ULONG MethodID; STACKED ULONG id; STACKED IPTR *storage;};
435 struct MUIP_GetUData {STACKED ULONG MethodID; STACKED ULONG udata; STACKED ULONG attr; STACKED IPTR *storage;};
436 struct MUIP_Import {STACKED ULONG MethodID; STACKED Object *dataspace;};
437 struct MUIP_KillNotify {STACKED ULONG MethodID; STACKED ULONG TrigAttr;};
438 struct MUIP_KillNotifyObj {STACKED ULONG MethodID; STACKED ULONG TrigAttr; STACKED Object *dest;};
439 struct MUIP_MultiSet {STACKED ULONG MethodID; STACKED ULONG attr; STACKED IPTR val; STACKED APTR obj; /* more might follow */};
440 struct MUIP_NoNotifySet {STACKED ULONG MethodID; STACKED ULONG attr; STACKED IPTR val; /* more might follow */};
441 struct MUIP_Notify {STACKED ULONG MethodID; STACKED ULONG TrigAttr; STACKED IPTR TrigVal; STACKED APTR DestObj; STACKED ULONG FollowParams; /* more might follow */};
442 struct MUIP_Set {STACKED ULONG MethodID; STACKED ULONG attr; STACKED IPTR val;};
443 struct MUIP_SetAsString {STACKED ULONG MethodID; STACKED ULONG attr; STACKED char *format; STACKED IPTR val; /* more might follow */};
444 struct MUIP_SetUData {STACKED ULONG MethodID; STACKED IPTR udata; STACKED ULONG attr; STACKED IPTR val;};
445 struct MUIP_SetUDataOnce {STACKED ULONG MethodID; STACKED IPTR udata; STACKED ULONG attr; STACKED IPTR val;};
446 struct MUIP_WriteLong {STACKED ULONG MethodID; STACKED ULONG val; STACKED ULONG *memory;};
447 struct MUIP_WriteString {STACKED ULONG MethodID; STACKED char *str; STACKED char *memory;};
449 #define MUIM_ConnectParent (MUIB_Notify | 0x00000000) /* Zune: V1 */
450 #define MUIM_DisconnectParent (MUIB_Notify | 0x00000001) /* Zune: V1 */
451 struct MUIP_ConnectParent {STACKED ULONG MethodID; STACKED Object *parent;};
452 struct MUIP_DisconnectParent {STACKED ULONG MethodID;};
454 /*** Attributes *************************************************************/
455 #define MUIA_ApplicationObject (MUIB_MUI|0x0042d3ee) /* MUI: V4 ..g Object * */
456 #define MUIA_AppMessage (MUIB_MUI|0x00421955) /* MUI: V5 ..g struct AppMessage * */
457 #define MUIA_HelpLine (MUIB_MUI|0x0042a825) /* MUI: V4 isg LONG */
458 #define MUIA_HelpNode (MUIB_MUI|0x00420b85) /* MUI: V4 isg STRPTR */
459 #define MUIA_NoNotify (MUIB_MUI|0x004237f9) /* MUI: V7 .s. BOOL */
460 #define MUIA_ObjectID (MUIB_MUI|0x0042d76e) /* MUI: V11 isg ULONG */
461 #define MUIA_Parent (MUIB_MUI|0x0042e35f) /* MUI: V11 ..g Object * */
462 #define MUIA_Revision (MUIB_MUI|0x00427eaa) /* MUI: V4 ..g LONG */
463 #define MUIA_UserData (MUIB_MUI|0x00420313) /* MUI: V4 isg ULONG */
464 #define MUIA_Version (MUIB_MUI|0x00422301) /* MUI: V4 ..g LONG */
466 /* Special values for MUIM_Notify */
467 #define MUIV_TriggerValue 0x49893131UL
468 #define MUIV_NotTriggerValue 0x49893133UL
469 #define MUIV_EveryTime 0x49893131UL /* as TrigVal */
471 enum
473 MUIV_Notify_Self = 1,
474 MUIV_Notify_Window,
475 MUIV_Notify_Application,
476 MUIV_Notify_Parent,
480 /* Private stuff */
482 #define _parent(obj) (muiNotifyData(obj)->mnd_ParentObject) /* Shortcut */
485 #endif /* _MUI_CLASSES_NOTIFY_H */
486 #endif
488 #ifndef _MUI_CLASSES_FAMILY_H
489 #ifndef _CLASSES_FAMILY_H
490 #define _CLASSES_FAMILY_H
493 Copyright © 1999, David Le Corfec.
494 Copyright © 2002-2003, The AROS Development Team.
495 All rights reserved.
497 $Id$
500 /*** Name *******************************************************************/
501 #define MUIC_Family "Family.mui"
503 /*** Identifier base (for Zune extensions) **********************************/
504 #define MUIB_Family (MUIB_ZUNE | 0x00000c00)
506 /*** Methods ****************************************************************/
507 #define MUIM_Family_AddHead (MUIB_MUI|0x0042e200) /* MUI: V8 */
508 #define MUIM_Family_AddTail (MUIB_MUI|0x0042d752) /* MUI: V8 */
509 #define MUIM_Family_Insert (MUIB_MUI|0x00424d34) /* MUI: V8 */
510 #define MUIM_Family_Remove (MUIB_MUI|0x0042f8a9) /* MUI: V8 */
511 #define MUIM_Family_Sort (MUIB_MUI|0x00421c49) /* MUI: V8 */
512 #define MUIM_Family_Transfer (MUIB_MUI|0x0042c14a) /* MUI: V8 */
513 struct MUIP_Family_AddHead {STACKED ULONG MethodID; STACKED Object *obj;};
514 struct MUIP_Family_AddTail {STACKED ULONG MethodID; STACKED Object *obj;};
515 struct MUIP_Family_Insert {STACKED ULONG MethodID; STACKED Object *obj; STACKED Object *pred;};
516 struct MUIP_Family_Remove {STACKED ULONG MethodID; STACKED Object *obj;};
517 struct MUIP_Family_Sort {STACKED ULONG MethodID; STACKED Object *obj[1];};
518 struct MUIP_Family_Transfer {STACKED ULONG MethodID; STACKED Object *family;};
520 /*** Attributes *************************************************************/
521 #define MUIA_Family_Child (MUIB_MUI|0x0042c696) /* MUI: V8 i.. Object * */
522 #define MUIA_Family_List (MUIB_MUI|0x00424b9e) /* MUI: V8 ..g struct MinList * */
526 #endif /* _CLASSES_FAMILY_H */
527 #endif
529 #ifndef _MUI_CLASSES_APPLICATION_H
531 Copyright © 1999, David Le Corfec.
532 Copyright © 2002-2003, The AROS Development Team.
533 All rights reserved.
535 $Id$
538 #ifndef _MUI_CLASSES_APPLICATION_H
539 #define _MUI_CLASSES_APPLICATION_H
541 #ifndef EXEC_SEMAPHORES_H
542 #include <exec/semaphores.h>
543 #endif
545 /*** Name *******************************************************************/
546 #define MUIC_Application "Application.mui"
548 /*** Identifier base (for Zune extensions) **********************************/
549 #define MUIB_Application (MUIB_ZUNE | 0x00000100)
551 /*** Methods ****************************************************************/
552 #define MUIM_Application_AboutMUI (MUIB_MUI|0x0042d21d) /* MUI: V14 */
553 #define MUIM_Application_AddInputHandler (MUIB_MUI|0x0042f099) /* MUI: V11 */
554 #define MUIM_Application_CheckRefresh (MUIB_MUI|0x00424d68) /* MUI: V11 */
555 #define MUIM_Application_GetMenuCheck (MUIB_MUI|0x0042c0a7) /* MUI: V4 */
556 #define MUIM_Application_GetMenuState (MUIB_MUI|0x0042a58f) /* MUI: V4 */
557 #define MUIM_Application_Input (MUIB_MUI|0x0042d0f5) /* MUI: V4 */
558 #define MUIM_Application_InputBuffered (MUIB_MUI|0x00427e59) /* MUI: V4 */
559 #define MUIM_Application_Load (MUIB_MUI|0x0042f90d) /* MUI: V4 */
560 #define MUIM_Application_NewInput (MUIB_MUI|0x00423ba6) /* MUI: V11 */
561 #define MUIM_Application_OpenConfigWindow (MUIB_MUI|0x004299ba) /* MUI: V11 */
562 #define MUIM_Application_PushMethod (MUIB_MUI|0x00429ef8) /* MUI: V4 */
563 #define MUIM_Application_RemInputHandler (MUIB_MUI|0x0042e7af) /* MUI: V11 */
564 #define MUIM_Application_ReturnID (MUIB_MUI|0x004276ef) /* MUI: V4 */
565 #define MUIM_Application_Save (MUIB_MUI|0x004227ef) /* MUI: V4 */
566 #define MUIM_Application_SetConfigItem (MUIB_MUI|0x00424a80) /* MUI: V11 */
567 #define MUIM_Application_SetMenuCheck (MUIB_MUI|0x0042a707) /* MUI: V4 */
568 #define MUIM_Application_SetMenuState (MUIB_MUI|0x00428bef) /* MUI: V4 */
569 #define MUIM_Application_ShowHelp (MUIB_MUI|0x00426479) /* MUI: V4 */
571 #define MUIM_Application_SetConfigdata (MUIB_Application | 0x00000000) /* Zune 20030407 */
572 #define MUIM_Application_OpenWindows (MUIB_Application | 0x00000001) /* Zune 20030407 */
573 #define MUIM_Application_Iconify (MUIB_Application | 0x00000002) /* Zune: V1 */
574 #define MUIM_Application_Execute (MUIB_Application | 0x00000003)
575 #define MUIM_Application_UpdateMenus (MUIB_Application | 0x00000004) /* Zune 20070712 */
576 /* Method Structures */
577 struct MUIP_Application_AboutMUI { STACKED ULONG MethodID; STACKED Object *refwindow; };
578 struct MUIP_Application_AddInputHandler { STACKED ULONG MethodID; STACKED struct MUI_InputHandlerNode *ihnode; };
579 struct MUIP_Application_CheckRefresh { STACKED ULONG MethodID; };
580 struct MUIP_Application_GetMenuCheck { STACKED ULONG MethodID; STACKED ULONG MenuID; };
581 struct MUIP_Application_GetMenuState { STACKED ULONG MethodID; STACKED ULONG MenuID; };
582 struct MUIP_Application_Input { STACKED ULONG MethodID; STACKED ULONG *signal; };
583 struct MUIP_Application_InputBuffered { STACKED ULONG MethodID; };
584 struct MUIP_Application_Load { STACKED ULONG MethodID; STACKED STRPTR name; };
585 struct MUIP_Application_NewInput { STACKED ULONG MethodID; STACKED ULONG *signal; };
586 struct MUIP_Application_OpenConfigWindow { STACKED ULONG MethodID; STACKED ULONG flags; };
587 struct MUIP_Application_PushMethod { STACKED ULONG MethodID; STACKED Object *dest; STACKED LONG count; /* more elements may follow */ };
588 struct MUIP_Application_RemInputHandler { STACKED ULONG MethodID; STACKED struct MUI_InputHandlerNode *ihnode; };
589 struct MUIP_Application_ReturnID { STACKED ULONG MethodID; STACKED ULONG retid; };
590 struct MUIP_Application_Save { STACKED ULONG MethodID; STACKED STRPTR name; };
591 struct MUIP_Application_SetConfigItem { STACKED ULONG MethodID; STACKED ULONG item; STACKED APTR data; };
592 struct MUIP_Application_SetMenuCheck { STACKED ULONG MethodID; STACKED ULONG MenuID; STACKED LONG stat; };
593 struct MUIP_Application_SetMenuState { STACKED ULONG MethodID; STACKED ULONG MenuID; STACKED LONG stat; };
594 struct MUIP_Application_ShowHelp { STACKED ULONG MethodID; STACKED Object *window; STACKED char *name; STACKED char *node; STACKED LONG line; };
595 struct MUIP_Application_SetConfigdata { STACKED ULONG MethodID; STACKED APTR configdata; };
596 struct MUIP_Application_OpenWindows { STACKED ULONG MethodID; };
597 struct MUIP_Application_UpdateMenus { STACKED ULONG MethodID; };
599 /*** Attributes *************************************************************/
600 #define MUIA_Application_Active (MUIB_MUI|0x004260ab) /* MUI: V4 isg BOOL */
601 #define MUIA_Application_Author (MUIB_MUI|0x00424842) /* MUI: V4 i.g STRPTR */
602 #define MUIA_Application_Base (MUIB_MUI|0x0042e07a) /* MUI: V4 i.g STRPTR */
603 #define MUIA_Application_Broker (MUIB_MUI|0x0042dbce) /* MUI: V4 ..g Broker * */
604 #define MUIA_Application_BrokerHook (MUIB_MUI|0x00428f4b) /* MUI: V4 isg struct Hook * */
605 #define MUIA_Application_BrokerPort (MUIB_MUI|0x0042e0ad) /* MUI: V6 ..g struct MsgPort * */
606 #define MUIA_Application_BrokerPri (MUIB_MUI|0x0042c8d0) /* MUI: V6 i.g LONG */
607 #define MUIA_Application_Commands (MUIB_MUI|0x00428648) /* MUI: V4 isg struct MUI_Command * */
608 #define MUIA_Application_Copyright (MUIB_MUI|0x0042ef4d) /* MUI: V4 i.g STRPTR */
609 #define MUIA_Application_Description (MUIB_MUI|0x00421fc6) /* MUI: V4 i.g STRPTR */
610 #define MUIA_Application_DiskObject (MUIB_MUI|0x004235cb) /* MUI: V4 isg struct DiskObject * */
611 #define MUIA_Application_DoubleStart (MUIB_MUI|0x00423bc6) /* MUI: V4 ..g BOOL */
612 #define MUIA_Application_DropObject (MUIB_MUI|0x00421266) /* MUI: V5 is. Object * */
613 #define MUIA_Application_ForceQuit (MUIB_MUI|0x004257df) /* MUI: V8 ..g BOOL */
614 #define MUIA_Application_HelpFile (MUIB_MUI|0x004293f4) /* MUI: V8 isg STRPTR */
615 #define MUIA_Application_Iconified (MUIB_MUI|0x0042a07f) /* MUI: V4 .sg BOOL */
616 #define MUIA_Application_MenuAction (MUIB_MUI|0x00428961) /* MUI: V4 ..g ULONG */
617 #define MUIA_Application_MenuHelp (MUIB_MUI|0x0042540b) /* MUI: V4 ..g ULONG */
618 #define MUIA_Application_Menustrip (MUIB_MUI|0x004252d9) /* MUI: V8 i.. Object * */
619 #define MUIA_Application_RexxHook (MUIB_MUI|0x00427c42) /* MUI: V7 isg struct Hook * */
620 #define MUIA_Application_RexxMsg (MUIB_MUI|0x0042fd88) /* MUI: V4 ..g struct RxMsg * */
621 #define MUIA_Application_RexxString (MUIB_MUI|0x0042d711) /* MUI: V4 .s. STRPTR */
622 #define MUIA_Application_SingleTask (MUIB_MUI|0x0042a2c8) /* MUI: V4 i.. BOOL */
623 #define MUIA_Application_Sleep (MUIB_MUI|0x00425711) /* MUI: V4 .s. BOOL */
624 #define MUIA_Application_Title (MUIB_MUI|0x004281b8) /* MUI: V4 i.g STRPTR */
625 #define MUIA_Application_UseCommodities (MUIB_MUI|0x00425ee5) /* MUI: V10 i.. BOOL */
626 #define MUIA_Application_UsedClasses (MUIB_MUI|0x0042e9a7) /* MUI undoc: V20 i.. STRPTR [] */
627 #define MUIA_Application_UseRexx (MUIB_MUI|0x00422387) /* MUI: V10 i.. BOOL */
628 #define MUIA_Application_SetWinPos (MUIB_MUI|0x00432387)
629 #define MUIA_Application_GetWinPos (MUIB_MUI|0x00432388)
630 #define MUIA_Application_SearchWinId (MUIB_MUI|0x00432389)
631 #define MUIA_Application_GetWinPosAddr (MUIB_MUI|0x00432390)
632 #define MUIA_Application_GetWinPosSize (MUIB_MUI|0x00432391)
633 #define MUIA_Application_CopyWinPosToApp (MUIB_MUI|0x00432392)
634 #define MAXWINS 300
636 struct windowpos
638 ULONG id;
639 WORD x1,y1,w1,h1;
640 WORD x2,y2,w2,h2;
644 [I-G] CONST_STRPTR
645 Standard DOS version string. Example: "$VER: Program 1.3 (14.11.03)".
646 Zune extension: If unspecified or NULL, it will be automatically
647 constructed from MUIA_Application_Title, MUIA_Application_Version_Number,
648 MUIA_Application_Version_Date and MUIA_Application_Version_Extra as
649 follows: "$VER: <title> <version> (<date>) [<extra>]".
651 #define MUIA_Application_Version (MUIB_MUI|0x0042b33f)
653 #define MUIA_Application_Window (MUIB_MUI|0x0042bfe0) /* MUI: V4 i.. Object * */
654 #define MUIA_Application_WindowList (MUIB_MUI|0x00429abe) /* MUI: V13 ..g struct List * */
656 #define MUIA_Application_Configdata (MUIB_Application | 0x00000000) /* Zune 20030407 .s. Object * */
659 [I-G] CONST_STRPTR
660 Version number. Examples: "1.5", "2.37.4b".
662 #define MUIA_Application_Version_Number (MUIB_Application | 0x00000001)
665 [I-G] CONST_STRPTR
666 Date information on the standard international YYYY-MM-DD format.
668 #define MUIA_Application_Version_Date (MUIB_Application | 0x00000002)
671 [I-G] CONST_STRPTR
672 Arbitrary extra version information. Example: "nightly build".
674 #define MUIA_Application_Version_Extra (MUIB_Application | 0x00000003)
677 /* MUI Obsolette tags */
678 #ifdef MUI_OBSOLETE
679 #define MUIA_Application_Menu (MUIB_MUI|0x00420e1f) /* MUI: V4 i.g struct NewMenu * */
680 #endif /* MUI_OBSOLETE */
682 /**************************************************************************
683 Structure used ba MUIM_Application_AddInputHandler/RemInputHandler
684 **************************************************************************/
685 struct MUI_InputHandlerNode
687 struct MinNode ihn_Node;
688 Object *ihn_Object;
689 union
691 ULONG ihn_sigs;
692 struct
694 UWORD ihn_millis;
695 UWORD ihn_current;
696 } ihn_timer;
698 ihn_stuff;
699 ULONG ihn_Flags;
700 ULONG ihn_Method;
703 /* Easier access to the members */
704 #define ihn_Millis ihn_stuff.ihn_timer.ihn_millis
705 #define ihn_Current ihn_stuff.ihn_timer.ihn_current
706 #define ihn_Signals ihn_stuff.ihn_sigs
708 /* Flags for ihn_Flags */
709 #define MUIIHNF_TIMER (1<<0) /* you want to be called every ihn_Millis msecs */
711 /**************************************************************************
712 Special values for the name field of MUIM_Application_Load/Save
713 **************************************************************************/
714 #define MUIV_Application_Save_ENV ((STRPTR) 0)
715 #define MUIV_Application_Save_ENVARC ((STRPTR)~0)
716 #define MUIV_Application_Load_ENV ((STRPTR) 0)
717 #define MUIV_Application_Load_ENVARC ((STRPTR)~0)
720 /**************************************************************************
721 Special Values MUIM_Application_ReturnID. Usally programm should leave
722 the event loop if this is set
723 **************************************************************************/
724 #define MUIV_Application_ReturnID_Quit ((ULONG)-1)
731 struct MUI_GlobalInfo
733 ULONG priv0;
734 Object *mgi_ApplicationObject;
736 /* The following data is private only, might be extented! */
740 #endif /* _MUI_CLASSES_APPLICATION_H */
741 #endif
744 /**************************************************************************
745 Here are the possible Objecttypes for MUI_MakeObject()
746 **************************************************************************/
747 enum
749 MUIO_Label = 1, /* STRPTR label, ULONG flags */
750 MUIO_Button, /* STRPTR label */
751 MUIO_Checkmark, /* STRPTR label */
752 MUIO_Cycle, /* STRPTR label, STRPTR *entries */
753 MUIO_Radio, /* STRPTR label, STRPTR *entries */
754 MUIO_Slider, /* STRPTR label, LONG min, LONG max */
755 MUIO_String, /* STRPTR label, LONG maxlen */
756 MUIO_PopButton, /* STRPTR imagespec */
757 MUIO_HSpace, /* LONG space */
758 MUIO_VSpace, /* LONG space */
759 MUIO_HBar, /* LONG space */
760 MUIO_VBar, /* LONG space */
761 MUIO_MenustripNM, /* struct NewMenu *nm, ULONG flags */
762 MUIO_Menuitem, /* STRPTR label, STRPTR shortcut, ULONG flags, ULONG data */
763 MUIO_BarTitle, /* STRPTR label */
764 MUIO_NumericButton,/* STRPTR label, LONG min, LONG max, STRPTR format */
766 MUIO_CoolButton = 111, /* STRPTR label, APTR CoolImage, ULONG flags */
767 MUIO_ImageButton, /* CONST_STRPTR label, CONST_STRPTR imagePath */
770 /* flag for MUIO_Menuitem */
771 #define MUIO_Menuitem_CopyStrings (1<<30)
773 /* flags for MUIO_Label type */
774 #define MUIO_Label_SingleFrame (1<< 8)
775 #define MUIO_Label_DoubleFrame (1<< 9)
776 #define MUIO_Label_LeftAligned (1<<10)
777 #define MUIO_Label_Centered (1<<11)
778 #define MUIO_Label_FreeVert (1<<12)
780 /* flag for MUIO_MenustripNM */
781 #define MUIO_MenustripNM_CommandKeyCheck (1<<0) /* check for "localized" menu items such as "O\0Open" */
783 /* flag for MUI_CoolButton */
784 #define MUIO_CoolButton_CoolImageID (1<<0)
786 struct MUI_MinMax
788 WORD MinWidth;
789 WORD MinHeight;
790 WORD MaxWidth;
791 WORD MaxHeight;
792 WORD DefWidth;
793 WORD DefHeight;
796 /* special maximum dimension in case it is unlimited */
797 #define MUI_MAXMAX 10000
799 /* Number of pens, the single definintion is below */
800 #define MPEN_COUNT 8
802 /* The mask for pens from MUI_ObtainPen() and a macro */
803 #define MUIPEN_MASK 0x0000ffff
804 #define MUIPEN(pen) ((pen) & MUIPEN_MASK)
806 /* These cannot be enums, since they will
807 * not be passed properly in varadic
808 * functions by some compilers.
810 #define MUIV_Font_Inherit ((IPTR)0)
811 #define MUIV_Font_Normal ((IPTR)-1)
812 #define MUIV_Font_List ((IPTR)-2)
813 #define MUIV_Font_Tiny ((IPTR)-3)
814 #define MUIV_Font_Fixed ((IPTR)-4)
815 #define MUIV_Font_Title ((IPTR)-5)
816 #define MUIV_Font_Big ((IPTR)-6)
817 #define MUIV_Font_Button ((IPTR)-7)
818 #define MUIV_Font_Knob ((IPTR)-8)
819 #define MUIV_Font_NegCount ((IPTR)-9)
821 /* Possible keyevents (user configurable) */
822 enum
824 MUIKEY_RELEASE = -2, /* this one is faked only, and thereforce not configurable */
825 MUIKEY_NONE = -1,
826 MUIKEY_PRESS = 0,
827 MUIKEY_TOGGLE = 1,
828 MUIKEY_UP = 2,
829 MUIKEY_DOWN = 3,
830 MUIKEY_PAGEUP = 4,
831 MUIKEY_PAGEDOWN = 5,
832 MUIKEY_TOP = 6,
833 MUIKEY_BOTTOM = 7,
834 MUIKEY_LEFT = 8,
835 MUIKEY_RIGHT = 9,
836 MUIKEY_WORDLEFT = 10,
837 MUIKEY_WORDRIGHT = 11,
838 MUIKEY_LINESTART = 12,
839 MUIKEY_LINEEND = 13,
840 MUIKEY_GADGET_NEXT = 14,
841 MUIKEY_GADGET_PREV = 15,
842 MUIKEY_GADGET_OFF = 16,
843 MUIKEY_WINDOW_CLOSE = 17,
844 MUIKEY_WINDOW_NEXT = 18,
845 MUIKEY_WINDOW_PREV = 19,
846 MUIKEY_HELP = 20,
847 MUIKEY_POPUP = 21,
848 MUIKEY_COUNT = 22
851 /* The mask definitions of the above keys */
852 #define MUIKEYF_PRESS (1<<MUIKEY_PRESS)
853 #define MUIKEYF_TOGGLE (1<<MUIKEY_TOGGLE)
854 #define MUIKEYF_UP (1<<MUIKEY_UP)
855 #define MUIKEYF_DOWN (1<<MUIKEY_DOWN)
856 #define MUIKEYF_PAGEUP (1<<MUIKEY_PAGEUP)
857 #define MUIKEYF_PAGEDOWN (1<<MUIKEY_PAGEDOWN)
858 #define MUIKEYF_TOP (1<<MUIKEY_TOP)
859 #define MUIKEYF_BOTTOM (1<<MUIKEY_BOTTOM)
860 #define MUIKEYF_LEFT (1<<MUIKEY_LEFT)
861 #define MUIKEYF_RIGHT (1<<MUIKEY_RIGHT)
862 #define MUIKEYF_WORDLEFT (1<<MUIKEY_WORDLEFT)
863 #define MUIKEYF_WORDRIGHT (1<<MUIKEY_WORDRIGHT)
864 #define MUIKEYF_LINESTART (1<<MUIKEY_LINESTART)
865 #define MUIKEYF_LINEEND (1<<MUIKEY_LINEEND)
866 #define MUIKEYF_GADGET_NEXT (1<<MUIKEY_GADGET_NEXT)
867 #define MUIKEYF_GADGET_PREV (1<<MUIKEY_GADGET_PREV)
868 #define MUIKEYF_GADGET_OFF (1<<MUIKEY_GADGET_OFF)
869 #define MUIKEYF_WINDOW_CLOSE (1<<MUIKEY_WINDOW_CLOSE)
870 #define MUIKEYF_WINDOW_NEXT (1<<MUIKEY_WINDOW_NEXT)
871 #define MUIKEYF_WINDOW_PREV (1<<MUIKEY_WINDOW_PREV)
872 #define MUIKEYF_HELP (1<<MUIKEY_HELP)
873 #define MUIKEYF_POPUP (1<<MUIKEY_POPUP)
875 struct MUI_CustomClass
877 APTR mcc_UserData; /* freely usable */
879 /* Zune/MUI had the following libraries opened for you */
880 struct Library *mcc_UtilityBase;
881 struct Library *mcc_DOSBase;
882 struct Library *mcc_GfxBase;
883 struct Library *mcc_IntuitionBase;
885 struct IClass *mcc_Super; /* the boopsi class' superclass */
886 struct IClass *mcc_Class; /* the boopsi class */
888 /* the following stuff is private */
890 struct Library *mcc_Module; /* non-null if external class */
893 #undef MPEN_COUNT
895 typedef enum {
896 MPEN_SHINE = 0,
897 MPEN_HALFSHINE = 1,
898 MPEN_BACKGROUND = 2,
899 MPEN_HALFSHADOW = 3,
900 MPEN_SHADOW = 4,
901 MPEN_TEXT = 5,
902 MPEN_FILL = 6,
903 MPEN_MARK = 7,
904 MPEN_COUNT = 8,
905 } MPen;
907 typedef enum {
908 PST_MUI = 'm',
909 PST_CMAP = 'p',
910 PST_RGB = 'r',
911 PST_SYS = 's',
912 } PenSpecType;
914 /* MUI_PenSpec is a an ascii spec like this:
916 "m5" (mui pen #5)
917 "p123" (cmap entry #123)
918 "rFFFFFFFF,00000000,00000000 (rgb #FF0000)
919 "s3" (system pen #3)
921 It needs to be like this, because for example nlist has
922 default penspecs in it's source encoded like above which
923 it directly passes to MUI_ObtainBestPen */
925 struct MUI_PenSpec
927 UBYTE ps_buf[32];
931 struct MUI_FrameSpec
933 char buf[32];
936 struct MUI_RGBcolor
938 ULONG red;
939 ULONG green;
940 ULONG blue;
943 #ifndef _MUI_CLASSES_NOTIFY_H
944 #endif
946 #ifndef _MUI_CLASSES_WINDOW_H
947 #ifndef _MUI_CLASSES_WINDOW_H
948 #define _MUI_CLASSES_WINDOW_H
951 Copyright 1999, David Le Corfec.
952 Copyright 2002-2003, The AROS Development Team.
953 All rights reserved.
955 $Id$
958 /*** Name *******************************************************************/
959 #define MUIC_Window "Window.mui"
961 /*** Identifier base (for Zune extensions) **********************************/
962 #define MUIB_Window (MUIB_ZUNE | 0x00003600)
964 /*** Methods ****************************************************************/
965 #define MUIM_Window_ActionIconify (MUIB_MUI|0x00422cc0) /* MUI: V18 undoc*/
966 #define MUIM_Window_AddEventHandler (MUIB_MUI|0x004203b7) /* MUI: V16 */
967 #define MUIM_Window_Cleanup (MUIB_MUI|0x0042ab26) /* MUI: V18 undoc */ /* For custom classes only */
968 #define MUIM_Window_RemEventHandler (MUIB_MUI|0x0042679e) /* MUI: V16 */
969 #define MUIM_Window_ScreenToBack (MUIB_MUI|0x0042913d) /* MUI: V4 */
970 #define MUIM_Window_ScreenToFront (MUIB_MUI|0x004227a4) /* MUI: V4 */
971 #define MUIM_Window_Setup (MUIB_MUI|0x0042c34c) /* MUI: V18 undoc */ /* For custom Classes only */
972 #define MUIM_Window_Snapshot (MUIB_MUI|0x0042945e) /* MUI: V11 */
973 #define MUIM_Window_ToBack (MUIB_MUI|0x0042152e) /* MUI: V4 */
974 #define MUIM_Window_ToFront (MUIB_MUI|0x0042554f) /* MUI: V4 */
975 struct MUIP_Window_ActionIconify {STACKED ULONG MethodID;};
976 struct MUIP_Window_AddEventHandler {STACKED ULONG MethodID; STACKED struct MUI_EventHandlerNode *ehnode;};
977 struct MUIP_Window_Cleanup {STACKED ULONG MethodID;};
978 struct MUIP_Window_RemEventHandler {STACKED ULONG MethodID; STACKED struct MUI_EventHandlerNode *ehnode;};
979 struct MUIP_Window_ScreenToBack {STACKED ULONG MethodID;};
980 struct MUIP_Window_ScreenToFront {STACKED ULONG MethodID;};
981 struct MUIP_Window_Setup {STACKED ULONG MethodID;};
982 struct MUIP_Window_Snapshot {STACKED ULONG MethodID; STACKED LONG flags;};
983 struct MUIP_Window_ToBack {STACKED ULONG MethodID;};
984 struct MUIP_Window_ToFront {STACKED ULONG MethodID;};
986 #define MUIM_Window_AllocGadgetID (MUIB_Window | 0x00000001) /* Zune: V1 - allocate a GadgetID for BOOPSI gadgets */
987 #define MUIM_Window_FreeGadgetID (MUIB_Window | 0x00000004) /* Zune: V1 - free the GadgetID for BOOPSI gadgets */
988 struct MUIP_Window_AddControlCharHandler { STACKED ULONG MethodID; STACKED struct MUI_EventHandlerNode *ccnode; };
989 struct MUIP_Window_AllocGadgetID { STACKED ULONG MethodID; }; /* Custom Class - returns the Gadget ID */
990 struct MUIP_Window_DrawBackground { STACKED ULONG MethodID; STACKED LONG left; STACKED LONG top; STACKED LONG width; STACKED LONG height; STACKED LONG xoffset; STACKED LONG yoffset; STACKED LONG flags;};
991 struct MUIP_Window_DragObject { STACKED ULONG MethodID; STACKED Object *obj; STACKED LONG touchx; STACKED LONG touchy; STACKED ULONG flags; };
992 struct MUIP_Window_FreeGadgetID { STACKED ULONG MethodID; STACKED LONG gadgetid; }; /* Custom Class */
993 struct MUIP_Window_RecalcDisplay { STACKED ULONG MethodID; STACKED Object *originator; };
994 struct MUIP_Window_RemControlCharHandler { STACKED ULONG MethodID; STACKED struct MUI_EventHandlerNode *ccnode; };
995 struct MUIP_Window_UpdateMenu { STACKED ULONG MethodID; };
997 #ifdef MUI_OBSOLETE
998 #define MUIM_Window_GetMenuCheck (MUIB_MUI|0x00420414) /* MUI: V4 */
999 #define MUIM_Window_GetMenuState (MUIB_MUI|0x00420d2f) /* MUI: V4 */
1000 #define MUIM_Window_SetCycleChain (MUIB_MUI|0x00426510) /* MUI: V4 */
1001 #define MUIM_Window_SetMenuCheck (MUIB_MUI|0x00422243) /* MUI: V4 */
1002 #define MUIM_Window_SetMenuState (MUIB_MUI|0x00422b5e) /* MUI: V4 */
1003 struct MUIP_Window_GetMenuCheck {STACKULONG MethodID; STACKED ULONG MenuID;};
1004 struct MUIP_Window_GetMenuState {STACKULONG MethodID; STACKED ULONG MenuID;};
1005 struct MUIP_Window_SetCycleChain {STACKULONG MethodID; STACKED Object *obj[1];};
1006 struct MUIP_Window_SetMenuCheck {STACKULONG MethodID; STACKED ULONG MenuID; STACKED LONG stat;};
1007 struct MUIP_Window_SetMenuState {STACKULONG MethodID; STACKED ULONG MenuID; STACKED LONG stat;};
1008 #endif /* MUI_OBSOLETE */
1010 /*** Attributes *************************************************************/
1011 #define MUIA_Window_Activate (MUIB_MUI|0x00428d2f) /* MUI: V4 isg BOOL */
1012 #define MUIA_Window_ActiveObject (MUIB_MUI|0x00427925) /* MUI: V4 .sg Object * */
1013 #define MUIA_Window_AltHeight (MUIB_MUI|0x0042cce3) /* MUI: V4 i.g LONG */
1014 #define MUIA_Window_AltLeftEdge (MUIB_MUI|0x00422d65) /* MUI: V4 i.g LONG */
1015 #define MUIA_Window_AltTopEdge (MUIB_MUI|0x0042e99b) /* MUI: V4 i.g LONG */
1016 #define MUIA_Window_AltWidth (MUIB_MUI|0x004260f4) /* MUI: V4 i.g LONG */
1017 #define MUIA_Window_AppWindow (MUIB_MUI|0x004280cf) /* MUI: V5 i.. BOOL */
1018 #define MUIA_Window_Backdrop (MUIB_MUI|0x0042c0bb) /* MUI: V4 i.. BOOL */
1019 #define MUIA_Window_Borderless (MUIB_MUI|0x00429b79) /* MUI: V4 i.. BOOL */
1020 #define MUIA_Window_CloseGadget (MUIB_MUI|0x0042a110) /* MUI: V4 i.. BOOL */
1021 #define MUIA_Window_CloseRequest (MUIB_MUI|0x0042e86e) /* MUI: V4 ..g BOOL */
1022 #define MUIA_Window_DefaultObject (MUIB_MUI|0x004294d7) /* MUI: V4 isg Object * */
1023 #define MUIA_Window_DepthGadget (MUIB_MUI|0x00421923) /* MUI: V4 i.. BOOL */
1024 #define MUIA_Window_DisableKeys (MUIB_MUI|0x00424c36) /* MUI: V15 isg ULONG */ /* undoc */
1025 #define MUIA_Window_DragBar (MUIB_MUI|0x0042045d) /* MUI: V4 i.. BOOL */
1026 #define MUIA_Window_FancyDrawing (MUIB_MUI|0x0042bd0e) /* MUI: V8 isg BOOL */
1027 #define MUIA_Window_Height (MUIB_MUI|0x00425846) /* MUI: V4 i.g LONG */
1028 #define MUIA_Window_ID (MUIB_MUI|0x004201bd) /* MUI: V4 isg ULONG */
1029 #define MUIA_Window_InputEvent (MUIB_MUI|0x004247d8) /* MUI: V4 ..g struct InputEvent * */
1030 #define MUIA_Window_IsSubWindow (MUIB_MUI|0x0042b5aa) /* MUI: V4 isg BOOL */
1031 #define MUIA_Window_LeftEdge (MUIB_MUI|0x00426c65) /* MUI: V4 i.g LONG */
1032 #define MUIA_Window_MenuAction (MUIB_MUI|0x00427521) /* MUI: V8 isg ULONG */
1033 #define MUIA_Window_Menustrip (MUIB_MUI|0x0042855e) /* MUI: V8 i.g Object * */
1034 #define MUIA_Window_MouseObject (MUIB_MUI|0x0042bf9b) /* MUI: V10 ..g Object * */
1035 #define MUIA_Window_NeedsMouseObject (MUIB_MUI|0x0042372a) /* MUI: V10 i.. BOOL */
1036 #define MUIA_Window_NoMenus (MUIB_MUI|0x00429df5) /* MUI: V4 is. BOOL */
1037 #define MUIA_Window_Open (MUIB_MUI|0x00428aa0) /* MUI: V4 .sg BOOL */
1038 #define MUIA_Window_PublicScreen (MUIB_MUI|0x004278e4) /* MUI: V6 isg STRPTR */
1039 #define MUIA_Window_RefWindow (MUIB_MUI|0x004201f4) /* MUI: V4 is. Object * */
1040 #define MUIA_Window_RootObject (MUIB_MUI|0x0042cba5) /* MUI: V4 isg Object * */
1041 #define MUIA_Window_Screen (MUIB_MUI|0x0042df4f) /* MUI: V4 isg struct Screen * */
1042 #define MUIA_Window_ScreenTitle (MUIB_MUI|0x004234b0) /* MUI: V5 isg STRPTR */
1043 #define MUIA_Window_SizeGadget (MUIB_MUI|0x0042e33d) /* MUI: V4 i.. BOOL */
1044 #define MUIA_Window_SizeRight (MUIB_MUI|0x00424780) /* MUI: V4 i.. BOOL */
1045 #define MUIA_Window_Sleep (MUIB_MUI|0x0042e7db) /* MUI: V4 .sg BOOL */
1046 #define MUIA_Window_Title (MUIB_MUI|0x0042ad3d) /* MUI: V4 isg STRPTR */
1047 #define MUIA_Window_TopEdge (MUIB_MUI|0x00427c66) /* MUI: V4 i.g LONG */
1048 #define MUIA_Window_UseBottomBorderScroller (MUIB_MUI|0x00424e79) /* MUI: V13 isg BOOL */
1049 #define MUIA_Window_UseLeftBorderScroller (MUIB_MUI|0x0042433e) /* MUI: V13 isg BOOL */
1050 #define MUIA_Window_UseRightBorderScroller (MUIB_MUI|0x0042c05e) /* MUI: V13 isg BOOL */
1051 #define MUIA_Window_Width (MUIB_MUI|0x0042dcae) /* MUI: V4 i.g LONG */
1052 #define MUIA_Window_Window (MUIB_MUI|0x00426a42) /* MUI: V4 ..g struct Window * */
1054 #define MUIA_Window_EraseArea (MUIB_Window | 0x00000000) /* Zune only i.. BOOL (default: TRUE) */
1055 #define MUIA_Window_ZoomGadget (MUIB_Window | 0x00000002)
1056 #define MUIA_Window_ToolBox (MUIB_Window | 0x00000003)
1058 #define MUIV_Window_ActiveObject_None 0
1059 #define MUIV_Window_ActiveObject_Next (-1)
1060 #define MUIV_Window_ActiveObject_Prev (-2)
1061 #define MUIV_Window_AltHeight_MinMax(p) (0-(p))
1062 #define MUIV_Window_AltHeight_Visible(p) (-100-(p))
1063 #define MUIV_Window_AltHeight_Screen(p) (-200-(p))
1064 #define MUIV_Window_AltHeight_Scaled (-1000)
1065 #define MUIV_Window_AltLeftEdge_Centered (-1)
1066 #define MUIV_Window_AltLeftEdge_Moused (-2)
1067 #define MUIV_Window_AltLeftEdge_NoChange (-1000)
1068 #define MUIV_Window_AltTopEdge_Centered (-1)
1069 #define MUIV_Window_AltTopEdge_Moused (-2)
1070 #define MUIV_Window_AltTopEdge_Delta(p) (-3-(p))
1071 #define MUIV_Window_AltTopEdge_NoChange (-1000)
1072 #define MUIV_Window_AltWidth_MinMax(p) (0-(p))
1073 #define MUIV_Window_AltWidth_Visible(p) (-100-(p))
1074 #define MUIV_Window_AltWidth_Screen(p) (-200-(p))
1075 #define MUIV_Window_AltWidth_Scaled (-1000)
1076 #define MUIV_Window_Height_MinMax(p) (0-(p))
1077 #define MUIV_Window_Height_Visible(p) (-100-(p))
1078 #define MUIV_Window_Height_Screen(p) (-200-(p))
1079 #define MUIV_Window_Height_Scaled (-1000)
1080 #define MUIV_Window_Height_Default (-1001)
1081 #define MUIV_Window_LeftEdge_Centered (-1)
1082 #define MUIV_Window_LeftEdge_Moused (-2)
1083 #define MUIV_Window_TopEdge_Centered (-1)
1084 #define MUIV_Window_TopEdge_Moused (-2)
1085 #define MUIV_Window_TopEdge_Delta(p) (-3-(p))
1086 #define MUIV_Window_Width_MinMax(p) (0-(p))
1087 #define MUIV_Window_Width_Visible(p) (-100-(p))
1088 #define MUIV_Window_Width_Screen(p) (-200-(p))
1089 #define MUIV_Window_Width_Scaled (-1000)
1090 #define MUIV_Window_Width_Default (-1001)
1092 #define MUIV_Window_Button_MUI 1
1093 #define MUIV_Window_Button_Snapshot 2
1094 #define MUIV_Window_Button_Iconify 4
1095 #define MUIV_Window_Button_Popup 8
1098 #ifdef MUI_OBSOLETE
1099 #define MUIA_Window_Menu (MUIB_MUI|0x0042db94) /* MUI: V4 i.. struct NewMenu * */
1100 #define MUIV_Window_Menu_NoMenu (-1)
1101 #endif /* MUI_OBSOLETE */
1103 /* Forward declaration for application opaque custom frame specification */
1104 struct dt_frame_image;
1106 /**************************************************************************
1107 Info about the display environment on which all Area Objects have a
1108 reference to it.
1109 **************************************************************************/
1111 #define MRI_RARRAY_SIZE 20
1113 struct MUI_RenderInfo
1115 Object *mri_WindowObject; /* accessable inbetween MUIM_Setup/MUIM_Cleanup */
1116 struct Screen *mri_Screen; /* accessable inbetween MUIM_Setup/MUIM_Cleanup */
1117 struct DrawInfo *mri_DrawInfo; /* accessable inbetween MUIM_Setup/MUIM_Cleanup */
1118 UWORD *mri_Pens; /* accessable inbetween MUIM_Setup/MUIM_Cleanup */
1119 struct Window *mri_Window; /* accessable inbetween MUIM_Show/MUIM_Hide */
1120 struct RastPort *mri_RastPort; /* accessable inbetween MUIM_Show/MUIM_Hide */
1121 ULONG mri_Flags; /* accessable inbetween MUIM_Setup/MUIM_Cleanup */
1123 /* the following stuff is private */
1124 struct ColorMap *mri_Colormap;
1125 UWORD mri_ScreenWidth;
1126 UWORD mri_ScreenHeight;
1127 UWORD mri_PensStorage[MPEN_COUNT]; /* storage for pens, mri_Pens point to here */
1129 struct TextFont *mri_Fonts[-MUIV_Font_NegCount]; /* Opened text fonts, done by zune_get_font() */
1131 /* this is for AddClipping/AddClipRegion */
1132 struct Region *mri_rArray[MRI_RARRAY_SIZE];
1133 int mri_rCount;
1135 struct Rectangle mri_ClipRect;
1137 UWORD mri_BorderTop; /* The height of the windows top border (the title) */
1138 UWORD mri_BorderBottom; /* The height of the windows bottom bodder */
1139 UWORD mri_BorderLeft; /* The width of the windows left border */
1140 UWORD mri_BorderRight; /* The width of the windows right border */
1142 /* Stuff for Borderscrollers */
1143 Object *mri_LeftImage; /* Valid between MUIM_Setup/MUIM_Cleanup */
1144 Object *mri_RightImage;
1145 Object *mri_UpImage;
1146 Object *mri_DownImage;
1147 Object *mri_SizeImage;
1149 Object *mri_VertProp; /* Valid between MUIM_Show/MUIM_Hide */
1150 Object *mri_HorizProp;
1152 /* buffering */
1153 struct RastPort mri_BufferRP;
1154 struct BitMap *mri_BufferBM;
1156 struct dt_frame_image *mri_FrameImage[16];
1159 #define MUIMRI_RECTFILL (1<<0)
1160 #define MUIMRI_TRUECOLOR (1<<1)
1161 #define MUIMRI_THINFRAMES (1<<2)
1162 #define MUIMRI_REFRESHMODE (1<<3)
1164 /**************************************************************************
1165 MUI_EventHandlerNode as used by
1166 MUIM_Window_AddEventHandler/RemoveEventHandler
1167 **************************************************************************/
1169 struct MUI_EventHandlerNode
1171 struct MinNode ehn_Node; /* embedded node structure, private! */
1172 BYTE ehn_Reserved; /* private! */
1173 BYTE ehn_Priority; /* sorted by priority. */
1174 UWORD ehn_Flags; /* some flags, see below */
1175 Object *ehn_Object; /* object which should receive MUIM_HandleEvent. */
1176 struct IClass *ehn_Class; /* Class for CoerceMethod(). If NULL DoMethod() is used */
1177 ULONG ehn_Events; /* the IDCMP flags the handler should be invoked. */
1180 /* here are the flags for ehn_Flags */
1181 #define MUI_EHF_ALWAYSKEYS (1<<0)
1182 #define MUI_EHF_GUIMODE (1<<1) /* handler will not be called if object is not visible or disabled */
1184 /* MUIM_HandleEvent must return a bitmask where following bit's can be set (all other must be 0) */
1185 #define MUI_EventHandlerRC_Eat (1<<0) /* do not invoke more handlers ers */
1189 #endif /* _MUI_CLASSES_WINDOW_H */
1190 #endif
1192 #ifndef _MUI_CLASSES_AREA_H
1194 Copyright © 1999, David Le Corfec.
1195 Copyright © 2002 - 2011, The AROS Development Team.
1196 All rights reserved.
1198 $Id$
1201 #ifndef _MUI_CLASSES_AREA_H
1202 #define _MUI_CLASSES_AREA_H
1204 #ifndef INTUITION_INTUITION_H
1205 #include <intuition/intuition.h>
1206 #endif
1208 #ifndef GRAPHICS_GRAPHICS_H
1209 #include <graphics/gfx.h>
1210 #endif
1212 #ifndef _MUI_CLASSES_WINDOW_H
1213 #endif
1215 /*** Name *******************************************************************/
1216 #define MUIC_Area "Area.mui"
1218 /*** Identifier base (for Zune extensions) **********************************/
1219 #define MUIB_Area (MUIB_ZUNE | 0x00000200)
1221 /*** Methods ****************************************************************/
1222 #define MUIM_AskMinMax (MUIB_MUI|0x00423874) /* MUI: V4 */ /* For Custom Classes only */
1223 #define MUIM_Cleanup (MUIB_MUI|0x0042d985) /* MUI: V4 */ /* For Custom Classes only */
1224 #define MUIM_ContextMenuBuild (MUIB_MUI|0x00429d2e) /* MUI: V11 */
1225 #define MUIM_ContextMenuChoice (MUIB_MUI|0x00420f0e) /* MUI: V11 */
1226 #define MUIM_CreateBubble (MUIB_MUI|0x00421c41) /* MUI: V18 */
1227 #define MUIM_CreateDragImage (MUIB_MUI|0x0042eb6f) /* MUI: V18 */ /* For Custom Classes only */ /* Undoc */
1228 #define MUIM_CreateShortHelp (MUIB_MUI|0x00428e93) /* MUI: V11 */
1229 #define MUIM_CustomBackfill (MUIB_MUI|0x00428d73) /* Undoc */
1230 #define MUIM_DeleteBubble (MUIB_MUI|0x004211af) /* MUI: V18 */
1231 #define MUIM_DeleteDragImage (MUIB_MUI|0x00423037) /* MUI: V18 */ /* For Custom Classes only */ /* Undoc */
1232 #define MUIM_DeleteShortHelp (MUIB_MUI|0x0042d35a) /* MUI: V11 */
1233 #define MUIM_DoDrag (MUIB_MUI|0x004216bb) /* MUI: V18 */ /* For Custom Classes only */ /* Undoc */
1234 #define MUIM_DragBegin (MUIB_MUI|0x0042c03a) /* MUI: V11 */
1235 #define MUIM_DragDrop (MUIB_MUI|0x0042c555) /* MUI: V11 */
1236 #define MUIM_UnknownDropDestination (MUIB_MUI|0x00425550) /* ZUNE */
1237 #define MUIM_DragFinish (MUIB_MUI|0x004251f0) /* MUI: V11 */
1238 #define MUIM_DragQuery (MUIB_MUI|0x00420261) /* MUI: V11 */
1239 #define MUIM_DragReport (MUIB_MUI|0x0042edad) /* MUI: V11 */
1240 #define MUIM_Draw (MUIB_MUI|0x00426f3f) /* MUI: V4 */ /* For Custom Classes only */
1241 #define MUIM_DrawBackground (MUIB_MUI|0x004238ca) /* MUI: V11 */
1242 #define MUIM_GoActive (MUIB_MUI|0x0042491a) /* Undoc */
1243 #define MUIM_GoInactive (MUIB_MUI|0x00422c0c) /* Undoc */
1244 #define MUIM_HandleEvent (MUIB_MUI|0x00426d66) /* MUI: V16 */ /* For Custom Classes only */
1245 #define MUIM_HandleInput (MUIB_MUI|0x00422a1a) /* MUI: V4 */ /* For Custom Classes only */
1246 #define MUIM_Hide (MUIB_MUI|0x0042f20f) /* MUI: V4 */ /* For Custom Classes only */
1247 #define MUIM_Setup (MUIB_MUI|0x00428354) /* MUI: V4 */ /* For Custom Classes only */
1248 #define MUIM_Show (MUIB_MUI|0x0042cc84) /* MUI: V4 */ /* For Custom Classes only */
1249 struct MUIP_AskMinMax {STACKED ULONG MethodID; STACKED struct MUI_MinMax *MinMaxInfo;};
1250 struct MUIP_Cleanup {STACKED ULONG MethodID;};
1251 struct MUIP_ContextMenuBuild {STACKED ULONG MethodID; STACKED LONG mx; STACKED LONG my;};
1252 struct MUIP_ContextMenuChoice {STACKED ULONG MethodID; STACKED Object *item;};
1253 struct MUIP_CreateBubble {STACKED ULONG MethodID; STACKED LONG x; STACKED LONG y; STACKED char *txt; STACKED ULONG flags;};
1254 struct MUIP_CreateDragImage {STACKED ULONG MethodID; STACKED LONG touchx; STACKED LONG touchy; STACKED ULONG flags;};
1255 struct MUIP_CreateShortHelp {STACKED ULONG MethodID; STACKED LONG mx; STACKED LONG my;};
1256 struct MUIP_CustomBackfill {STACKED ULONG MethodID; STACKED LONG left; STACKED LONG top; STACKED LONG right; STACKED LONG bottom; STACKED LONG xoffset; STACKED LONG yoffset;};
1257 struct MUIP_DeleteBubble {STACKED ULONG MethodID; STACKED APTR bubble;};
1258 struct MUIP_DeleteDragImage {STACKED ULONG MethodID; STACKED struct MUI_DragImage *di;};
1259 struct MUIP_DeleteShortHelp {STACKED ULONG MethodID; STACKED STRPTR help; };
1260 struct MUIP_DoDrag {STACKED ULONG MethodID; STACKED LONG touchx; STACKED LONG touchy; STACKED ULONG flags;};
1261 struct MUIP_UnknownDropDestination {STACKED ULONG MethodID; STACKED struct IntuiMessage *imsg; };
1262 struct MUIP_DragBegin {STACKED ULONG MethodID; STACKED Object *obj;};
1263 struct MUIP_DragDrop {STACKED ULONG MethodID; STACKED Object *obj; STACKED LONG x; STACKED LONG y;};
1264 struct MUIP_DragFinish {STACKED ULONG MethodID; STACKED Object *obj;};
1265 struct MUIP_DragQuery {STACKED ULONG MethodID; STACKED Object *obj;};
1266 struct MUIP_DragReport {STACKED ULONG MethodID; STACKED Object *obj; STACKED LONG x; STACKED LONG y; STACKED LONG update;};
1267 struct MUIP_Draw {STACKED ULONG MethodID; STACKED ULONG flags;};
1268 struct MUIP_DrawBackground {STACKED ULONG MethodID; STACKED LONG left; STACKED LONG top; STACKED LONG width; STACKED LONG height; STACKED LONG xoffset; STACKED LONG yoffset; STACKED LONG flags;};
1269 struct MUIP_DrawBackgroundBuffered {STACKED ULONG MethodID; STACKED struct RastPort *rp; STACKED LONG left; STACKED LONG top; STACKED LONG width; STACKED LONG height; STACKED LONG xoffset; STACKED LONG yoffset; STACKED LONG flags;};
1270 struct MUIP_GoActive {STACKED ULONG MethodID;};
1271 struct MUIP_GoInacrive {STACKED ULONG MethodID;};
1272 struct MUIP_HandleEvent {STACKED ULONG MethodID; STACKED struct IntuiMessage *imsg; STACKED LONG muikey;};
1273 struct MUIP_HandleInput {STACKED ULONG MethodID; STACKED struct IntuiMessage *imsg; STACKED LONG muikey;};
1274 struct MUIP_Hide {STACKED ULONG MethodID;};
1275 struct MUIP_Setup {STACKED ULONG MethodID; STACKED struct MUI_RenderInfo *RenderInfo;};
1276 struct MUIP_Show {STACKED ULONG MethodID;};
1278 #define MUIM_Layout (MUIB_Area | 0x00000000)
1279 #define MUIM_DrawParentBackground (MUIB_Area | 0x00000001)
1280 struct MUIP_Layout {STACKED ULONG MethodID;};
1281 struct MUIP_DrawParentBackground {STACKED ULONG MethodID; STACKED LONG left; STACKED LONG top; STACKED LONG width; STACKED LONG height; STACKED LONG xoffset; STACKED LONG yoffset; STACKED LONG flags;};
1283 struct MUI_DragImage
1285 struct BitMap *bm;
1286 WORD width; /* exact width and height of bitmap */
1287 WORD height;
1288 WORD touchx; /* position of pointer click relative to bitmap */
1289 WORD touchy;
1290 ULONG flags;
1293 // #define MUIF_DRAGIMAGE_HASMASK (1<<0) /* Use provided mask for drawing */ /* Not supported at the moment */
1294 #define MUIF_DRAGIMAGE_SOURCEALPHA (1<<1) /* Use drag image source alpha information for transparrent drawing */
1296 /*** Attributes *************************************************************/
1297 #define MUIA_Background (MUIB_MUI|0x0042545b) /* MUI: V4 is. LONG */
1298 #define MUIA_BottomEdge (MUIB_MUI|0x0042e552) /* MUI: V4 ..g LONG */
1299 #define MUIA_ContextMenu (MUIB_MUI|0x0042b704) /* MUI: V11 isg Object * */
1300 #define MUIA_ContextMenuTrigger (MUIB_MUI|0x0042a2c1) /* MUI: V11 ..g Object * */
1301 #define MUIA_ControlChar (MUIB_MUI|0x0042120b) /* MUI: V4 isg char */
1302 #define MUIA_CustomBackfill (MUIB_MUI|0x00420a63) /* undoc i.. */
1303 #define MUIA_CycleChain (MUIB_MUI|0x00421ce7) /* MUI: V11 isg LONG */
1304 #define MUIA_Disabled (MUIB_MUI|0x00423661) /* MUI: V4 isg BOOL */
1305 #define MUIA_Draggable (MUIB_MUI|0x00420b6e) /* MUI: V11 isg BOOL */
1306 #define MUIA_Dropable (MUIB_MUI|0x0042fbce) /* MUI: V11 isg BOOL */
1307 #define MUIA_FillArea (MUIB_MUI|0x004294a3) /* MUI: V4 is. BOOL */
1308 #define MUIA_FixHeight (MUIB_MUI|0x0042a92b) /* MUI: V4 i.. LONG */
1309 #define MUIA_FixHeightTxt (MUIB_MUI|0x004276f2) /* MUI: V4 i.. STRPTR */
1310 #define MUIA_FixWidth (MUIB_MUI|0x0042a3f1) /* MUI: V4 i.. LONG */
1311 #define MUIA_FixWidthTxt (MUIB_MUI|0x0042d044) /* MUI: V4 i.. STRPTR */
1312 #define MUIA_Font (MUIB_MUI|0x0042be50) /* MUI: V4 i.g struct TextFont * */
1313 #define MUIA_Frame (MUIB_MUI|0x0042ac64) /* MUI: V4 i.. LONG */
1314 #define MUIA_FramePhantomHoriz (MUIB_MUI|0x0042ed76) /* MUI: V4 i.. BOOL */
1315 #define MUIA_FrameTitle (MUIB_MUI|0x0042d1c7) /* MUI: V4 i.. STRPTR */
1316 #define MUIA_Height (MUIB_MUI|0x00423237) /* MUI: V4 ..g LONG */
1317 #define MUIA_HorizDisappear (MUIB_MUI|0x00429615) /* MUI: V11 isg LONG */
1318 #define MUIA_HorizWeight (MUIB_MUI|0x00426db9) /* MUI: V4 isg WORD */
1319 #define MUIA_InnerBottom (MUIB_MUI|0x0042f2c0) /* MUI: V4 i.g LONG */
1320 #define MUIA_InnerLeft (MUIB_MUI|0x004228f8) /* MUI: V4 i.g LONG */
1321 #define MUIA_InnerRight (MUIB_MUI|0x004297ff) /* MUI: V4 i.g LONG */
1322 #define MUIA_InnerTop (MUIB_MUI|0x00421eb6) /* MUI: V4 i.g LONG */
1323 #define MUIA_InputMode (MUIB_MUI|0x0042fb04) /* MUI: V4 i.. LONG */
1324 #define MUIA_LeftEdge (MUIB_MUI|0x0042bec6) /* MUI: V4 ..g LONG */
1325 #define MUIA_MaxHeight (MUIB_MUI|0x004293e4) /* MUI: V11 i.. LONG */
1326 #define MUIA_MaxWidth (MUIB_MUI|0x0042f112) /* MUI: V11 i.. LONG */
1327 #define MUIA_Pressed (MUIB_MUI|0x00423535) /* MUI: V4 ..g BOOL */
1328 #define MUIA_RightEdge (MUIB_MUI|0x0042ba82) /* MUI: V4 ..g LONG */
1329 #define MUIA_Selected (MUIB_MUI|0x0042654b) /* MUI: V4 isg BOOL */
1330 #define MUIA_ShortHelp (MUIB_MUI|0x00428fe3) /* MUI: V11 isg STRPTR */
1331 #define MUIA_ShowMe (MUIB_MUI|0x00429ba8) /* MUI: V4 isg BOOL */
1332 #define MUIA_ShowSelState (MUIB_MUI|0x0042caac) /* MUI: V4 i.. BOOL */
1333 #define MUIA_Timer (MUIB_MUI|0x00426435) /* MUI: V4 ..g LONG */
1334 #define MUIA_TopEdge (MUIB_MUI|0x0042509b) /* MUI: V4 ..g LONG */
1335 #define MUIA_VertDisappear (MUIB_MUI|0x0042d12f) /* MUI: V11 isg LONG */
1336 #define MUIA_VertWeight (MUIB_MUI|0x004298d0) /* MUI: V4 isg WORD */
1337 #define MUIA_Weight (MUIB_MUI|0x00421d1f) /* MUI: V4 i.. WORD */
1338 #define MUIA_Width (MUIB_MUI|0x0042b59c) /* MUI: V4 ..g LONG */
1339 #define MUIA_Window (MUIB_MUI|0x00421591) /* MUI: V4 ..g struct Window * */
1340 #define MUIA_WindowObject (MUIB_MUI|0x0042669e) /* MUI: V4 ..g Object * */
1342 #define MUIA_NestedDisabled (MUIB_Area | 0x00000000) /* Zune 20030530 isg BOOL */
1344 #ifdef MUI_OBSOLETE
1345 #define MUIA_ExportID (MUIB_MUI|0x0042d76e) /* V4 isg ULONG */
1346 #endif /* MUI_OBSOLETE */
1348 struct MUI_ImageSpec_intern;
1350 struct MUI_AreaData
1352 struct MUI_RenderInfo *mad_RenderInfo; /* RenderInfo for this object */
1353 struct MUI_ImageSpec_intern *mad_Background; /* bg setting - *private* ! */
1354 struct TextFont *mad_Font; /* Font which is used to draw */
1355 struct MUI_MinMax mad_MinMax; /* min/max/default dimensions */
1356 struct IBox mad_Box; /* coordinates and dim of this object after layouted */
1357 BYTE mad_addleft; /* left offset (frame & innerspacing) */
1358 BYTE mad_addtop; /* top offset (frame & innerspacing) */
1359 BYTE mad_subwidth; /* additional width (frame & innerspacing) */
1360 BYTE mad_subheight; /* additional height (frame & innerspacing) */
1361 ULONG mad_Flags; /* some flags; see below */
1362 ULONG mad_Flags2;
1363 // 40 bytes up to here
1365 /* The following data is private */
1366 // offset 40
1367 UWORD mad_HorizWeight; /* weight values for layout. default 100 */
1368 UWORD mad_VertWeight;
1369 // offset 44
1370 // ?
1371 // offset 48
1372 ULONG mad_IDCMP; /* IDCMP flags this listens to (for HandleInput) */
1373 // offset 52
1374 CONST_STRPTR mad_BackgroundSpec;
1375 // offset 56
1376 IPTR mad_FontPreset; /* MUIV_Font_xxx or pointer to struct TextFont */
1377 // offset 76
1378 CONST_STRPTR mad_FrameTitle; /* for groups. Req. mad_Frame > 0 */
1379 // Inner values at offset 88 in MUI:
1380 BYTE mad_InnerLeft; /* frame or hardcoded */
1381 BYTE mad_InnerTop;
1382 BYTE mad_InnerRight;
1383 BYTE mad_InnerBottom;
1384 // offset 94
1385 BYTE mad_FrameOBSOLETE; /* frame setting -- private */
1386 // offset 95
1387 BYTE mad_InputMode; /* how to react to events */
1388 // offset 96
1389 TEXT mad_ControlChar; /* key shortcut */
1390 BYTE mad_TitleHeightAdd;/* frame title height = mad_TitleBelow + mad_TitleBaseline */
1391 BYTE mad_TitleHeightBelow; /* height below frame */
1392 BYTE mad_TitleHeightAbove; /* height above frame */
1393 // 100
1394 // ?
1395 IPTR mad_Frame;
1396 WORD mad_HardHeight; /* if harcoded dim (see flags) */
1397 WORD mad_HardWidth; /* if harcoded dim (see flags) */
1398 CONST_STRPTR mad_HardWidthTxt;
1399 CONST_STRPTR mad_HardHeightTxt;
1400 // TODO: move SelBack in RenderInfo as it's common for all objects
1401 struct MUI_ImageSpec_intern *mad_SelBack; /* selected state background */
1402 CONST_STRPTR mad_ShortHelp; /* bubble help */
1403 // there's an event handler at 114
1404 struct MUI_EventHandlerNode mad_ehn;
1405 struct MUI_InputHandlerNode mad_Timer; /* MUIA_Timer */
1406 ULONG mad_Timeval; /* just to trigger notifications */
1407 struct MUI_EventHandlerNode mad_ccn; /* gross hack for control char */
1408 Object *mad_ContextMenu; /* menu strip */
1409 LONG mad_ClickX; /* x position of the initial SELECTDOWN click */
1410 LONG mad_ClickY; /* y position of the intiial SELECTDOWN click */
1411 struct ZMenu *mad_ContextZMenu;
1412 struct MUI_EventHandlerNode mad_hiehn; /* Eventhandler to simulate MUIM_HandleInput */
1414 LONG mad_DisableCount; /* counts number of disables */
1415 // only 148 bytes for the struct in MUI !
1418 /* Flags during MUIM_Draw */
1419 #define MADF_DRAWOBJECT (1<< 0) /* draw object completely */
1420 #define MADF_DRAWUPDATE (1<< 1) /* update object */
1422 #define MADF_DRAWALL (1<< 31)
1425 /* mad_Flags, private one */
1428 #define MADF_DRAWFLAGS (MADF_DRAWOBJECT | MADF_DRAWUPDATE | MADF_DRAW_XXX \
1429 | MADF_DRAWFRAME | MADF_DRAW_XXX_2 | MADF_DRAWALL)
1432 // offset 94 (byte) (frame << 1) (lsb is SETUP_DONE flag)
1433 enum {
1434 MUIV_Frame_None = 0,
1435 MUIV_Frame_Button,
1436 MUIV_Frame_ImageButton,
1437 MUIV_Frame_Text,
1438 MUIV_Frame_String,
1439 MUIV_Frame_ReadList,
1440 MUIV_Frame_InputList,
1441 MUIV_Frame_Prop,
1442 MUIV_Frame_Gauge,
1443 MUIV_Frame_Group,
1444 MUIV_Frame_PopUp,
1445 MUIV_Frame_Virtual,
1446 MUIV_Frame_Slider,
1447 MUIV_Frame_Knob,
1448 MUIV_Frame_Drag,
1449 MUIV_Frame_Count,
1452 // offset 95
1453 enum {
1454 MUIV_InputMode_None = 0, // 0x00
1455 MUIV_InputMode_RelVerify, // 0x40 (1<<6)
1456 MUIV_InputMode_Immediate, // 0x80 (1<<7)
1457 MUIV_InputMode_Toggle, // 0xc0 (1<<7 | 1<<6)
1462 enum {
1463 MUIV_DragQuery_Refuse = 0,
1464 MUIV_DragQuery_Accept,
1467 enum {
1468 MUIV_DragReport_Abort = 0,
1469 MUIV_DragReport_Continue,
1470 MUIV_DragReport_Lock,
1471 MUIV_DragReport_Refresh,
1474 #define MUIV_CreateBubble_DontHidePointer (1<<0)
1476 /* A private functions and macros */
1477 void __area_finish_minmax(Object *obj, struct MUI_MinMax *MinMaxInfo);
1479 /*#define DRAW_BG_RECURSIVE (1<<1)*/
1482 #endif /* _MUI_CLASSES_AREA_H */
1483 #endif
1485 #ifndef _MUI_CLASSES_GROUP_H
1486 #ifndef _MUI_CLASSES_GROUP_H
1487 #define _MUI_CLASSES_GROUP_H
1490 Copyright © 1999, David Le Corfec.
1491 Copyright © 2002-2003, The AROS Development Team.
1492 All rights reserved.
1494 $Id$
1497 /*** Name *******************************************************************/
1498 #define MUIC_Group "Group.mui"
1500 /*** Identifier base (for Zune extensions) **********************************/
1501 #define MUIB_Group (MUIB_ZUNE | 0x00001000)
1503 /*** Methods ****************************************************************/
1504 #define MUIM_Group_ExitChange (MUIB_MUI|0x0042d1cc) /* MUI: V11 */
1505 #define MUIM_Group_InitChange (MUIB_MUI|0x00420887) /* MUI: V11 */
1506 #define MUIM_Group_Sort (MUIB_MUI|0x00427417) /* MUI: V4 */
1507 struct MUIP_Group_ExitChange {STACKED ULONG MethodID;};
1508 struct MUIP_Group_InitChange {STACKED ULONG MethodID;};
1509 struct MUIP_Group_Sort {STACKED ULONG MethodID; STACKED Object *obj[1];};
1511 #define MUIM_Group_DoMethodNoForward (MUIB_Group | 0x00000000)
1512 struct MUIP_Group_DoMethodNoForward {STACKED ULONG MethodID; STACKED ULONG DoMethodID; }; /* msg stuff follows */
1514 /*** Attributes *************************************************************/
1515 #define MUIA_Group_ActivePage (MUIB_MUI|0x00424199) /* MUI: V5 isg LONG */
1516 #define MUIA_Group_Child (MUIB_MUI|0x004226e6) /* MUI: V4 i.. Object * */
1517 #define MUIA_Group_ChildList (MUIB_MUI|0x00424748) /* MUI: V4 ..g struct List * */
1518 #define MUIA_Group_Columns (MUIB_MUI|0x0042f416) /* MUI: V4 is. LONG */
1519 #define MUIA_Group_Forward (MUIB_MUI|0x00421422) /* MUI: V11 .s. BOOL */
1520 #define MUIA_Group_Horiz (MUIB_MUI|0x0042536b) /* MUI: V4 i.. BOOL */
1521 #define MUIA_Group_HorizSpacing (MUIB_MUI|0x0042c651) /* MUI: V4 isg LONG */
1522 #define MUIA_Group_LayoutHook (MUIB_MUI|0x0042c3b2) /* MUI: V11 i.. struct Hook * */
1523 #define MUIA_Group_PageMode (MUIB_MUI|0x00421a5f) /* MUI: V5 i.. BOOL */
1524 #define MUIA_Group_Rows (MUIB_MUI|0x0042b68f) /* MUI: V4 is. LONG */
1525 #define MUIA_Group_SameHeight (MUIB_MUI|0x0042037e) /* MUI: V4 i.. BOOL */
1526 #define MUIA_Group_SameSize (MUIB_MUI|0x00420860) /* MUI: V4 i.. BOOL */
1527 #define MUIA_Group_SameWidth (MUIB_MUI|0x0042b3ec) /* MUI: V4 i.. BOOL */
1528 #define MUIA_Group_Spacing (MUIB_MUI|0x0042866d) /* MUI: V4 is. LONG */
1529 #define MUIA_Group_VertSpacing (MUIB_MUI|0x0042e1bf) /* MUI: V4 isg LONG */
1531 #define MUIA_Group_Virtual (MUIB_Group | 0x00000000) /* Zune: V1 i.. BOOL */
1533 enum {
1534 MUIV_Group_ActivePage_First = 0,
1535 MUIV_Group_ActivePage_Last = -1,
1536 MUIV_Group_ActivePage_Prev = -2,
1537 MUIV_Group_ActivePage_Next = -3,
1538 MUIV_Group_ActivePage_Advance = -4,
1541 /* This is the message you get if your custom layout hook is called */
1542 struct MUI_LayoutMsg
1544 STACKED ULONG lm_Type; /* the message type */
1545 STACKED struct MinList *lm_Children; /* exec list of the children of this group */
1546 STACKED struct MUI_MinMax lm_MinMax; /* here you have to place the MUILM_MINMAX results */
1547 struct
1549 STACKED LONG Width;
1550 STACKED LONG Height;
1551 STACKED ULONG priv5;
1552 STACKED ULONG priv6;
1553 } lm_Layout; /* size (and result) for MUILM_LAYOUT */
1556 /* lm_Type */
1557 enum
1559 MUILM_MINMAX = 1, /* Please calc your min & max siizes */
1560 MUILM_LAYOUT = 2, /* Please layout your children */
1563 #define MUILM_UNKNOWN -1 /* should be returned if the hook function doesn't understand lm_Type */
1567 #endif /* _MUI_CLASSES_GROUP_H */
1568 #endif
1570 #ifndef _MUI_CLASSES_RECTANGLE_H
1571 #ifndef _MUI_CLASSES_RECTANGLE_H
1572 #define _MUI_CLASSES_RECTANGLE_H
1575 Copyright © 1999, David Le Corfec.
1576 Copyright © 2002-2003, The AROS Development Team.
1577 All rights reserved.
1579 $Id$
1582 /*** Name *******************************************************************/
1583 #define MUIC_Rectangle "Rectangle.mui"
1585 /*** Identifier base (for Zune extensions) **********************************/
1586 #define MUIB_Rectangle (MUIB_ZUNE | 0x00002b00)
1588 /*** Attributes *************************************************************/
1589 #define MUIA_Rectangle_BarTitle (MUIB_MUI|0x00426689) /* V11 i.g STRPTR */
1590 #define MUIA_Rectangle_HBar (MUIB_MUI|0x0042c943) /* V7 i.g BOOL */
1591 #define MUIA_Rectangle_VBar (MUIB_MUI|0x00422204) /* V7 i.g BOOL */
1594 #endif /* _MUI_CLASSES_RECTANGLE_H */
1595 #endif
1597 #ifndef _MUI_CLASSES_TEXT_H
1598 #ifndef _MUI_CLASSES_TEXT_H
1599 #define _MUI_CLASSES_TEXT_H
1602 Copyright © 1999, David Le Corfec.
1603 Copyright © 2002-2003, The AROS Development Team.
1604 All rights reserved.
1606 $Id$
1609 /*** Name *******************************************************************/
1610 #define MUIC_Text "Text.mui"
1612 /*** Identifier base (for Zune extensions) **********************************/
1613 #define MUIB_Text (MUIB_ZUNE | 0x00003500)
1615 /*** Attributes *************************************************************/
1616 #define MUIA_Text_Contents (MUIB_MUI|0x0042f8dc) /* MUI: V4 isg STRPTR */
1617 #define MUIA_Text_HiChar (MUIB_MUI|0x004218ff) /* MUI: V4 i.. char */
1618 #define MUIA_Text_HiCharIdx (MUIB_MUI|0x004214f5) /* i.. char */
1619 #define MUIA_Text_PreParse (MUIB_MUI|0x0042566d) /* MUI: V4 isg STRPTR */
1620 #define MUIA_Text_SetMax (MUIB_MUI|0x00424d0a) /* MUI: V4 i.. BOOL */
1621 #define MUIA_Text_SetMin (MUIB_MUI|0x00424e10) /* MUI: V4 i.. BOOL */
1622 #define MUIA_Text_SetVMax (MUIB_MUI|0x00420d8b) /* MUI: V11 i.. BOOL */
1624 #define MUIA_Text_Editable (MUIB_Text | 0x00000000) /* DEPRECATED */
1625 #define MUIA_Text_Multiline (MUIB_Text | 0x00000001) /* DEPRECATED */
1627 /* Codes which can be used in text strings */
1628 #define MUIX_L "\033l" /* justify left */
1629 #define MUIX_C "\033c" /* justify centered */
1630 #define MUIX_R "\033r" /* justify right */
1632 #define MUIX_N "\033n" /* normal style */
1633 #define MUIX_B "\033b" /* bold style */
1634 #define MUIX_I "\033i" /* italic style */
1635 #define MUIX_U "\033u" /* underlined style */
1637 #define MUIX_PT "\0332" /* use text pen */
1638 #define MUIX_PH "\0338" /* use highlight text pen */
1642 #endif /* _MUI_CLASSES_TEXT_H */
1643 #endif
1645 #ifndef _MUI_CLASSES_NUMERIC_H
1646 #ifndef _MUI_CLASSES_NUMERIC_H
1647 #define _MUI_CLASSES_NUMERIC_H
1650 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1651 $Id$
1654 /*** Name *******************************************************************/
1655 #define MUIC_Numeric "Numeric.mui"
1657 /*** Identifier base (for Zune extensions) **********************************/
1658 #define MUIB_Numeric (MUIB_ZUNE | 0x00001e00)
1660 /*** Methods ****************************************************************/
1661 #define MUIM_Numeric_Decrease (MUIB_MUI|0x004243a7) /* MUI: V11 */
1662 #define MUIM_Numeric_Increase (MUIB_MUI|0x00426ecd) /* MUI: V11 */
1663 #define MUIM_Numeric_ScaleToValue (MUIB_MUI|0x0042032c) /* MUI: V11 */
1664 #define MUIM_Numeric_SetDefault (MUIB_MUI|0x0042ab0a) /* MUI: V11 */
1665 #define MUIM_Numeric_Stringify (MUIB_MUI|0x00424891) /* MUI: V11 */
1666 #define MUIM_Numeric_ValueToScale (MUIB_MUI|0x00423e4f) /* MUI: V11 */
1667 struct MUIP_Numeric_Decrease {STACKED ULONG MethodID; STACKED LONG amount;};
1668 struct MUIP_Numeric_Increase {STACKED ULONG MethodID; STACKED LONG amount;};
1669 struct MUIP_Numeric_ScaleToValue {STACKED ULONG MethodID; STACKED LONG scalemin; STACKED LONG scalemax; STACKED LONG scale;};
1670 struct MUIP_Numeric_SetDefault {STACKED ULONG MethodID;};
1671 struct MUIP_Numeric_Stringify {STACKED ULONG MethodID; STACKED LONG value;};
1672 struct MUIP_Numeric_ValueToScale {STACKED ULONG MethodID; STACKED LONG scalemin; STACKED LONG scalemax;};
1674 /*** Attributes *************************************************************/
1675 #define MUIA_Numeric_CheckAllSizes (MUIB_MUI|0x00421594) /* MUI: V11 isg BOOL */
1676 #define MUIA_Numeric_Default (MUIB_MUI|0x004263e8) /* MUI: V11 isg LONG */
1677 #define MUIA_Numeric_Format (MUIB_MUI|0x004263e9) /* MUI: V11 isg STRPTR */
1678 #define MUIA_Numeric_Max (MUIB_MUI|0x0042d78a) /* MUI: V11 isg LONG */
1679 #define MUIA_Numeric_Min (MUIB_MUI|0x0042e404) /* MUI: V11 isg LONG */
1680 #define MUIA_Numeric_Reverse (MUIB_MUI|0x0042f2a0) /* MUI: V11 isg BOOL */
1681 #define MUIA_Numeric_RevLeftRight (MUIB_MUI|0x004294a7) /* MUI: V11 isg BOOL */
1682 #define MUIA_Numeric_RevUpDown (MUIB_MUI|0x004252dd) /* MUI: V11 isg BOOL */
1683 #define MUIA_Numeric_Value (MUIB_MUI|0x0042ae3a) /* MUI: V11 isg LONG */
1685 #define MUIM_Numeric_ValueToScaleExt (MUIB_Numeric | 0x00000000) /* ZUNE only */
1686 struct MUIP_Numeric_ValueToScaleExt {STACKED ULONG MethodID; STACKED LONG value; STACKED LONG scalemin; STACKED LONG scalemax;};
1689 #endif /* _MUI_CLASSES_NUMERIC_H */
1690 #endif
1692 #ifndef _MUI_CLASSES_SLIDER_H
1693 #ifndef _MUI_CLASSES_SLIDER_H
1694 #define _MUI_CLASSES_SLIDER_H
1697 Copyright © 1999, David Le Corfec.
1698 Copyright © 2002-2003, The AROS Development Team.
1699 All rights reserved.
1701 $Id$
1704 /*** Name *******************************************************************/
1705 #define MUIC_Slider "Slider.mui"
1707 /*** Identifier base (for Zune extensions) **********************************/
1708 #define MUIB_Slider (MUIB_ZUNE | 0x00003300)
1710 /*** Attributes *************************************************************/
1711 #define MUIA_Slider_Horiz (MUIB_MUI|0x0042fad1) /* V11 isg BOOL */
1712 #define MUIA_Slider_Quiet (MUIB_MUI|0x00420b26) /* V6 i.. BOOL */
1714 #ifdef MUI_OBSOLETE
1715 #define MUIA_Slider_Level (MUIB_MUI|0x0042ae3a) /* V4 isg LONG */
1716 #define MUIA_Slider_Max (MUIB_MUI|0x0042d78a) /* V4 isg LONG */
1717 #define MUIA_Slider_Min (MUIB_MUI|0x0042e404) /* V4 isg LONG */
1718 #define MUIA_Slider_Reverse (MUIB_MUI|0x0042f2a0) /* V4 isg BOOL */
1719 #endif /* MUI_OBSOLETE */
1723 #endif /* _MUI_CLASSES_SLIDER_H */
1724 #endif
1726 #ifndef _MUI_CLASSES_STRING_H
1727 #ifndef _MUI_CLASSES_STRING_H
1728 #define _MUI_CLASSES_STRING_H
1731 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1732 $Id$
1735 /*** Name *******************************************************************/
1736 #define MUIC_String "String.mui"
1738 /*** Identifier base (for Zune extensions) **********************************/
1739 #define MUIB_String (MUIB_ZUNE | 0x00003400)
1741 /*** Attributes *************************************************************/
1742 #define MUIA_String_Accept (MUIB_MUI|0x0042e3e1) /* V4 isg STRPTR */
1743 #define MUIA_String_Acknowledge (MUIB_MUI|0x0042026c) /* V4 ..g STRPTR */
1744 #define MUIA_String_AdvanceOnCR (MUIB_MUI|0x004226de) /* V11 isg BOOL */
1745 #define MUIA_String_AttachedList (MUIB_MUI|0x00420fd2) /* V4 isg Object * */
1746 #define MUIA_String_BufferPos (MUIB_MUI|0x00428b6c) /* V4 .sg LONG */
1747 #define MUIA_String_Contents (MUIB_MUI|0x00428ffd) /* V4 isg STRPTR */
1748 #define MUIA_String_DisplayPos (MUIB_MUI|0x0042ccbf) /* V4 .sg LONG */
1749 #define MUIA_String_EditHook (MUIB_MUI|0x00424c33) /* V7 isg struct Hook * */
1750 #define MUIA_String_Format (MUIB_MUI|0x00427484) /* V4 i.g LONG */
1751 #define MUIA_String_Integer (MUIB_MUI|0x00426e8a) /* V4 isg ULONG */
1752 #define MUIA_String_LonelyEditHook (MUIB_MUI|0x00421569) /* V11 isg BOOL */
1753 #define MUIA_String_MaxLen (MUIB_MUI|0x00424984) /* V4 i.g LONG */
1754 #define MUIA_String_Reject (MUIB_MUI|0x0042179c) /* V4 isg STRPTR */
1755 #define MUIA_String_Secret (MUIB_MUI|0x00428769) /* V4 i.g BOOL */
1757 enum {
1758 MUIV_String_Format_Left = 0,
1759 MUIV_String_Format_Center,
1760 MUIV_String_Format_Right,
1763 /* Extended features taken over from Alan Odgaard's BetterString MCC.
1764 Attribute and method IDs match those of BetterString class. */
1766 #define MUIA_String_Columns 0xad001005
1767 #define MUIA_String_NoInput 0xad001007
1768 #define MUIA_String_SelectSize 0xad001001
1769 #define MUIA_String_StayActive 0xad001003
1770 #define MUIA_String_KeyUpFocus 0xad001008
1771 #define MUIA_String_KeyDownFocus 0xad001009
1773 #define MUIM_String_ClearSelected 0xad001004
1774 #define MUIM_String_FileNameStart 0xad001006
1775 #define MUIM_String_Insert 0xad001002
1777 #define MUIV_String_Insert_StartOfString 0x00000000
1778 #define MUIV_String_Insert_EndOfString 0xfffffffe
1779 #define MUIV_String_Insert_BufferPos 0xffffffff
1780 #define MUIV_String_BufferPos_End 0xffffffff
1782 #define MUIR_String_FileNameStart_Volume 0xffffffff
1784 struct MUIP_String_ClearSelected {STACKED ULONG MethodID;};
1785 struct MUIP_String_FileNameStart {STACKED ULONG MethodID; STACKED STRPTR buffer; STACKED LONG pos;};
1786 struct MUIP_String_Insert {STACKED ULONG MethodID; STACKED STRPTR text; STACKED LONG pos;};
1789 #endif /* _MUI_CLASSES_STRING_H */
1790 #endif
1792 #ifndef _MUI_CLASSES_BOOPSI_H
1794 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1795 $Id$
1798 #ifndef _MUI_CLASSES_BOOPSI_H
1799 #define _MUI_CLASSES_BOOPSI_H
1801 /*** Name *******************************************************************/
1802 #define MUIC_Boopsi "Boopsi.mui"
1804 /*** Identifier base (for Zune extensions) **********************************/
1805 #define MUIB_Boopsi (MUIB_ZUNE | 0x00000600)
1807 /*** Attributes *************************************************************/
1808 #define MUIA_Boopsi_Class (MUIB_MUI|0x00426999) /* V4 isg struct IClass * */
1809 #define MUIA_Boopsi_ClassID (MUIB_MUI|0x0042bfa3) /* V4 isg char * */
1810 #define MUIA_Boopsi_MaxHeight (MUIB_MUI|0x0042757f) /* V4 isg ULONG */
1811 #define MUIA_Boopsi_MaxWidth (MUIB_MUI|0x0042bcb1) /* V4 isg ULONG */
1812 #define MUIA_Boopsi_MinHeight (MUIB_MUI|0x00422c93) /* V4 isg ULONG */
1813 #define MUIA_Boopsi_MinWidth (MUIB_MUI|0x00428fb2) /* V4 isg ULONG */
1814 #define MUIA_Boopsi_Object (MUIB_MUI|0x00420178) /* V4 ..g Object * */
1815 #define MUIA_Boopsi_Remember (MUIB_MUI|0x0042f4bd) /* V4 i.. ULONG */
1816 #define MUIA_Boopsi_Smart (MUIB_MUI|0x0042b8d7) /* V9 i.. BOOL */
1817 #define MUIA_Boopsi_TagDrawInfo (MUIB_MUI|0x0042bae7) /* V4 isg ULONG */
1818 #define MUIA_Boopsi_TagScreen (MUIB_MUI|0x0042bc71) /* V4 isg ULONG */
1819 #define MUIA_Boopsi_TagWindow (MUIB_MUI|0x0042e11d) /* V4 isg ULONG */
1824 #endif /* _MUI_CLASSES_BOOPSI_H */
1825 #endif
1827 #ifndef _MUI_CLASSES_PROP_H
1828 #ifndef _MUI_CLASSES_PROP_H
1829 #define _MUI_CLASSES_PROP_H
1832 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1833 $Id$
1836 /*** Name *******************************************************************/
1837 #define MUIC_Prop "Prop.mui"
1839 /*** Identifier base (for Zune extensions) **********************************/
1840 #define MUIB_Prop (MUIB_ZUNE | 0x00002900)
1842 /*** Methods ****************************************************************/
1843 #define MUIM_Prop_Decrease (MUIB_MUI|0x00420dd1) /* MUI: V16 */
1844 #define MUIM_Prop_Increase (MUIB_MUI|0x0042cac0) /* MUI: V16 */
1845 struct MUIP_Prop_Decrease {STACKED ULONG MethodID; STACKED LONG amount;};
1846 struct MUIP_Prop_Increase {STACKED ULONG MethodID; STACKED LONG amount;};
1848 /*** Attributes *************************************************************/
1849 #define MUIA_Prop_Entries (MUIB_MUI|0x0042fbdb) /* MUI: V4 isg LONG */
1850 #define MUIA_Prop_First (MUIB_MUI|0x0042d4b2) /* MUI: V4 isg LONG */
1851 #define MUIA_Prop_Horiz (MUIB_MUI|0x0042f4f3) /* MUI: V4 i.g BOOL */
1852 #define MUIA_Prop_Slider (MUIB_MUI|0x00429c3a) /* MUI: V4 isg BOOL */
1853 #define MUIA_Prop_UseWinBorder (MUIB_MUI|0x0042deee) /* MUI: V13 i.. LONG */
1854 #define MUIA_Prop_Visible (MUIB_MUI|0x0042fea6) /* MUI: V4 isg LONG */
1857 enum
1859 MUIV_Prop_UseWinBorder_None = 0,
1860 MUIV_Prop_UseWinBorder_Left,
1861 MUIV_Prop_UseWinBorder_Right,
1862 MUIV_Prop_UseWinBorder_Bottom,
1865 #define MUIA_Prop_DeltaFactor (MUIB_MUI|0x00427c5e) /* MUI: is. LONG */
1866 #define MUIA_Prop_DoSmooth (MUIB_MUI|0x004236ce) /* MUI: V4 i.. LONG */
1870 #endif /* _MUI_CLASSES_PROP_H */
1871 #endif
1873 #ifndef _MUI_CLASSES_SCROLLBAR_H
1874 #ifndef _MUI_CLASSES_SCROLLBAR_H
1875 #define _MUI_CLASSES_SCROLLBAR_H
1878 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1879 $Id$
1882 /*** Name *******************************************************************/
1883 #define MUIC_Scrollbar "Scrollbar.mui"
1885 /*** Identifier base (for Zune extensions) **********************************/
1886 #define MUIB_Scrollbar (MUIB_ZUNE | 0x00002e00)
1888 /*** Attributes *************************************************************/
1889 #define MUIA_Scrollbar_Type (MUIB_MUI|0x0042fb6b) /* V11 i.. LONG */
1891 enum
1893 MUIV_Scrollbar_Type_Default = 0,
1894 MUIV_Scrollbar_Type_Bottom,
1895 MUIV_Scrollbar_Type_Top,
1896 MUIV_Scrollbar_Type_Sym,
1901 #endif /* _MUI_CLASSES_SCROLLBAR_H */
1902 #endif
1904 #ifndef _MUI_CLASSES_REGISTER_H
1905 #ifndef _MUI_CLASSES_REGISTER_H
1906 #define _MUI_CLASSES_REGISTER_H
1909 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1910 $Id$
1913 /*** Name *******************************************************************/
1914 #define MUIC_Register "Register.mui"
1916 /*** Identifier base (for Zune extensions) *********************************/
1917 #define MUIB_Register (MUIB_ZUNE | 0x00002c00)
1919 /*** Attributes *************************************************************/
1920 #define MUIA_Register_Frame (MUIB_MUI|0x0042349b) /* V7 i.g BOOL */
1921 #define MUIA_Register_Titles (MUIB_MUI|0x004297ec) /* V7 i.g STRPTR * */
1923 #define MUIA_Register_Columns (MUIB_Register | 0x0000) /* Zune V1 i.. */
1927 #endif /* _MUI_CLASSES_REGISTER_H */
1928 #endif
1930 #ifndef _MUI_CLASSES_MENUITEM_H
1931 #ifndef _MUI_CLASSES_MENUITEM_H
1932 #define _MUI_CLASSES_MENUITEM_H
1935 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1936 $Id$
1939 /****************************************************************************/
1940 /*** Name *******************************************************************/
1941 #define MUIC_Menustrip "Menustrip.mui"
1943 /*** Identifier base (for Zune extensions) **********************************/
1944 #define MUIB_Menustrip (MUIB_ZUNE | 0x00001a00)
1946 /*** Attributes *************************************************************/
1947 #define MUIA_Menustrip_Enabled (MUIB_MUI|0x0042815b) /* MUI: V8 isg BOOL */
1951 /****************************************************************************/
1952 /*** Name *******************************************************************/
1953 #define MUIC_Menu "Menu.mui"
1955 /*** Identifier base (for Zune extensions) **********************************/
1956 #define MUIB_Menu (MUIB_ZUNE | 0x00001b00)
1958 /*** Attributes *************************************************************/
1959 #define MUIA_Menu_Enabled (MUIB_MUI|0x0042ed48) /* MUI: V8 isg BOOL */
1960 #define MUIA_Menu_Title (MUIB_MUI|0x0042a0e3) /* MUI: V8 isg STRPTR */
1964 /****************************************************************************/
1965 /*** Name *******************************************************************/
1966 #define MUIC_Menuitem "Menuitem.mui"
1968 /*** Identifier base (for Zune extensions) **********************************/
1969 #define MUIB_Menuitem (MUIB_ZUNE | 0x00001c00)
1971 /*** Attributes *************************************************************/
1972 #define MUIA_Menuitem_Checked (MUIB_MUI|0x0042562a) /* MUI: V8 isg BOOL */
1973 #define MUIA_Menuitem_Checkit (MUIB_MUI|0x00425ace) /* MUI: V8 isg BOOL */
1974 #define MUIA_Menuitem_CommandString (MUIB_MUI|0x0042b9cc) /* MUI: V16 isg BOOL */
1975 #define MUIA_Menuitem_Enabled (MUIB_MUI|0x0042ae0f) /* MUI: V8 isg BOOL */
1976 #define MUIA_Menuitem_Exclude (MUIB_MUI|0x00420bc6) /* MUI: V8 isg LONG */
1977 #define MUIA_Menuitem_Shortcut (MUIB_MUI|0x00422030) /* MUI: V8 isg STRPTR */
1978 #define MUIA_Menuitem_Title (MUIB_MUI|0x004218be) /* MUI: V8 isg STRPTR */
1979 #define MUIA_Menuitem_Toggle (MUIB_MUI|0x00424d5c) /* MUI: V8 isg BOOL */
1980 #define MUIA_Menuitem_Trigger (MUIB_MUI|0x00426f32) /* MUI: V8 ..g struct MenuItem * */
1982 #define MUIA_Menuitem_NewMenu (MUIB_Menuitem | 0x00000000) /* Zune: V1 ..g struct NewMenu * */
1985 #define MUIV_Menuitem_Shortcut_Check (-1)
1989 #endif /* _MUI_CLASSES_MENUITEM_H */
1990 #endif
1992 #ifndef _MUI_CLASSES_DATASPACE_H
1993 #ifndef _MUI_CLASSES_DATASPACE_H
1994 #define _MUI_CLASSES_DATASPACE_H
1997 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
1998 $Id$
2001 /*** Name *******************************************************************/
2002 #define MUIC_Dataspace "Dataspace.mui"
2004 /*** Identifier base (for Zune extensions) **********************************/
2005 #define MUIB_Dataspace (MUIB_ZUNE | 0x00000b00)
2008 /*** Methods ****************************************************************/
2009 #define MUIM_Dataspace_Add (MUIB_MUI|0x00423366) /* MUI: V11 */
2010 #define MUIM_Dataspace_Clear (MUIB_MUI|0x0042b6c9) /* MUI: V11 */
2011 #define MUIM_Dataspace_Find (MUIB_MUI|0x0042832c) /* MUI: V11 */
2012 #define MUIM_Dataspace_Merge (MUIB_MUI|0x00423e2b) /* MUI: V11 */
2013 #define MUIM_Dataspace_ReadIFF (MUIB_MUI|0x00420dfb) /* MUI: V11 */
2014 #define MUIM_Dataspace_Remove (MUIB_MUI|0x0042dce1) /* MUI: V11 */
2015 #define MUIM_Dataspace_WriteIFF (MUIB_MUI|0x00425e8e) /* MUI: V11 */
2016 struct MUIP_Dataspace_Add {STACKED ULONG MethodID; STACKED APTR data; STACKED LONG len; STACKED ULONG id;};
2017 struct MUIP_Dataspace_Clear {STACKED ULONG MethodID;};
2018 struct MUIP_Dataspace_Find {STACKED ULONG MethodID; STACKED ULONG id;};
2019 struct MUIP_Dataspace_Merge {STACKED ULONG MethodID; STACKED Object *dataspace;};
2020 struct MUIP_Dataspace_ReadIFF {STACKED ULONG MethodID; STACKED struct IFFHandle *handle;};
2021 struct MUIP_Dataspace_Remove {STACKED ULONG MethodID; STACKED ULONG id;};
2022 struct MUIP_Dataspace_WriteIFF {STACKED ULONG MethodID; STACKED struct IFFHandle *handle; STACKED ULONG type; STACKED ULONG id;};
2024 /*** Attributes *************************************************************/
2025 #define MUIA_Dataspace_Pool (MUIB_MUI|0x00424cf9) /* MUI: V11 i.. APTR */
2029 #endif /* _MUI_CLASSES_DATASPACE_H */
2030 #endif
2032 #ifndef _MUI_CLASSES_VIRTGROUP_H
2033 #ifndef _MUI_CLASSES_VIRTGROUP_H
2034 #define _MUI_CLASSES_VIRTGROUP_H
2037 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2038 $Id$
2041 /*** Name *******************************************************************/
2042 #define MUIC_Virtgroup "Virtgroup.mui"
2044 /*** Identifier base (for Zune extensions) **********************************/
2045 #define MUIB_Virtgroup (MUIB_ZUNE | 0x00003700)
2047 /*** Attributes *************************************************************/
2048 #define MUIA_Virtgroup_Height (MUIB_MUI|0x00423038) /* V6 ..g LONG */
2049 #define MUIA_Virtgroup_Input (MUIB_MUI|0x00427f7e) /* V11 i.. BOOL */
2050 #define MUIA_Virtgroup_Left (MUIB_MUI|0x00429371) /* V6 isg LONG */
2051 #define MUIA_Virtgroup_Top (MUIB_MUI|0x00425200) /* V6 isg LONG */
2052 #define MUIA_Virtgroup_Width (MUIB_MUI|0x00427c49) /* V6 ..g LONG */
2057 #endif /* _MUI_CLASSES_VIRTGROUP_H */
2058 #endif
2060 #ifndef _MUI_CLASSES_SCROLLGROUP_H
2061 #ifndef _MUI_CLASSES_SCROLLGROUP_H
2062 #define _MUI_CLASSES_SCROLLGROUP_H
2065 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2066 $Id$
2069 /*** Name *******************************************************************/
2070 #define MUIC_Scrollgroup "Scrollgroup.mui"
2072 /*** Identifier base (for Zune extensions) **********************************/
2073 #define MUIB_Scrollgroup (MUIB_ZUNE | 0x00002f00)
2075 /*** Attributes *************************************************************/
2076 #define MUIA_Scrollgroup_Contents (MUIB_MUI|0x00421261) /* V4 i.g Object * */
2077 #define MUIA_Scrollgroup_FreeHoriz (MUIB_MUI|0x004292f3) /* V9 i.. BOOL */
2078 #define MUIA_Scrollgroup_FreeVert (MUIB_MUI|0x004224f2) /* V9 i.. BOOL */
2079 #define MUIA_Scrollgroup_HorizBar (MUIB_MUI|0x0042b63d) /* V16 ..g Object * */
2080 #define MUIA_Scrollgroup_UseWinBorder (MUIB_MUI|0x004284c1) /* V13 i.. BOOL */
2081 #define MUIA_Scrollgroup_VertBar (MUIB_MUI|0x0042cdc0) /* V16 ..g Object * */
2085 #endif /* _MUI_CLASSES_SCROLLGROUP_H */
2086 #endif
2088 #ifndef _MUI_CLASSES_SCROLLBUTTON_H
2090 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2091 $Id$
2094 #ifndef _MUI_CLASSES_SCROLLBUTTON_H
2095 #define _MUI_CLASSES_SCROLLBUTTON_H
2097 /*** Name *******************************************************************/
2098 #define MUIC_Scrollbutton "Scrollbutton.mui"
2100 /*** Identifier base ********************************************************/
2101 #define MUIB_Scrollbutton (MUIB_ZUNE | 0x00004100)
2103 /*** Attributes *************************************************************/
2104 #define MUIA_Scrollbutton_NewPosition (MUIB_Scrollbutton | 0x00000000) /* --G ULONG (2 x WORD) */
2105 #define MUIA_Scrollbutton_Horiz (MUIB_Scrollbutton | 0x00000001) /* -SG WORD */
2106 #define MUIA_Scrollbutton_Vert (MUIB_Scrollbutton | 0x00000002) /* -SG WORD */
2107 #define MUIA_Scrollbutton_HorizProp (MUIB_Scrollbutton | 0x00000003) /* --G Object * */
2108 #define MUIA_Scrollbutton_VertProp (MUIB_Scrollbutton | 0x00000004) /* --G Object * */
2110 /*** Macros *****************************************************************/
2111 #define ScrollbuttonObject MUIOBJMACRO_START(MUIC_Scrollbutton)
2114 #endif /* _MUI_CLASSES_SCROLLBUTTON_H */
2115 #endif
2117 #ifndef _MUI_CLASSES_SEMAPHORE_H
2118 #ifndef _MUI_CLASSES_SEMAPHORE_H
2119 #define _MUI_CLASSES_SEMAPHORE_H
2122 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2123 $Id$
2126 /*** Name *******************************************************************/
2127 #define MUIC_Semaphore "Semaphore.mui"
2129 /*** Identifier base (for Zune extensions) **********************************/
2130 #define MUIB_Semaphore (MUIB_ZUNE | 0x00003000)
2132 /*** Methods ****************************************************************/
2133 #define MUIM_Semaphore_Attempt (MUIB_MUI|0x00426ce2) /* MUI: V11 */
2134 #define MUIM_Semaphore_AttemptShared (MUIB_MUI|0x00422551) /* MUI: V11 */
2135 #define MUIM_Semaphore_Obtain (MUIB_MUI|0x004276f0) /* MUI: V11 */
2136 #define MUIM_Semaphore_ObtainShared (MUIB_MUI|0x0042ea02) /* MUI: V11 */
2137 #define MUIM_Semaphore_Release (MUIB_MUI|0x00421f2d) /* MUI: V11 */
2138 struct MUIP_Semaphore_Attempt {STACKED ULONG MethodID;};
2139 struct MUIP_Semaphore_AttemptShared {STACKED ULONG MethodID;};
2140 struct MUIP_Semaphore_Obtain {STACKED ULONG MethodID;};
2141 struct MUIP_Semaphore_ObtainShared {STACKED ULONG MethodID;};
2142 struct MUIP_Semaphore_Release {STACKED ULONG MethodID;};
2146 #endif /* _MUI_CLASSES_SEMAPHORE_H */
2147 #endif
2149 #ifndef _MUI_CLASSES_BITMAP_H
2151 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2152 $Id$
2155 #ifndef _MUI_CLASSES_BITMAP_H
2156 #define _MUI_CLASSES_BITMAP_H
2158 /*** Name *******************************************************************/
2159 #define MUIC_Bitmap "Bitmap.mui"
2161 /*** Identifier base (for Zune extensions) **********************************/
2162 #define MUIB_Bitmap (MUIB_ZUNE | 0x00000400)
2164 /*** Attributes *************************************************************/
2165 #define MUIA_Bitmap_Bitmap (MUIB_MUI|0x004279bd) /* MUI: V8 isg struct BitMap * */
2166 #define MUIA_Bitmap_Height (MUIB_MUI|0x00421560) /* MUI: V8 isg LONG */
2167 #define MUIA_Bitmap_MappingTable (MUIB_MUI|0x0042e23d) /* MUI: V8 isg UBYTE * */
2168 #define MUIA_Bitmap_Precision (MUIB_MUI|0x00420c74) /* MUI: V11 isg LONG */
2169 #define MUIA_Bitmap_RemappedBitmap (MUIB_MUI|0x00423a47) /* MUI: V11 ..g struct BitMap * */
2170 #define MUIA_Bitmap_SourceColors (MUIB_MUI|0x00425360) /* MUI: V8 isg ULONG * */
2171 #define MUIA_Bitmap_Transparent (MUIB_MUI|0x00422805) /* MUI: V8 isg LONG */
2172 #define MUIA_Bitmap_UseFriend (MUIB_MUI|0x004239d8) /* MUI: V11 i.. BOOL */
2173 #define MUIA_Bitmap_Width (MUIB_MUI|0x0042eb3a) /* MUI: V8 isg LONG */
2176 #endif /* _MUI_CLASSES_BITMAP_H */
2177 #endif
2179 #ifndef _MUI_CLASSES_BODYCHUNK_H
2181 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2182 $Id$
2185 #ifndef _MUI_CLASSES_BODYCHUNK_H
2186 #define _MUI_CLASSES_BODYCHUNK_H
2188 /*** Name *******************************************************************/
2189 #define MUIC_Bodychunk "Bodychunk.mui"
2191 /*** Identifier base (for Zune extensions) **********************************/
2192 #define MUIB_Bodychunk (MUIB_ZUNE | 0x00000500)
2194 /*** Attributes *************************************************************/
2195 #define MUIA_Bodychunk_Body (MUIB_MUI|0x0042ca67) /* V8 isg UBYTE * */
2196 #define MUIA_Bodychunk_Compression (MUIB_MUI|0x0042de5f) /* V8 isg UBYTE */
2197 #define MUIA_Bodychunk_Depth (MUIB_MUI|0x0042c392) /* V8 isg LONG */
2198 #define MUIA_Bodychunk_Masking (MUIB_MUI|0x00423b0e) /* V8 isg UBYTE */
2202 #endif /* _MUI_CLASSES_BODYCHUNK_H */
2203 #endif
2205 #ifndef _MUI_CLASSES_CHUNKYIMAGE_H
2206 #ifndef _MUI_CLASSES_CHUNKYIMAGE_H
2207 #define _MUI_CLASSES_CHUNKYIMAGE_H
2210 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2211 $Id$
2214 /*** Name *******************************************************************/
2215 #define MUIC_ChunkyImage "ChunkyImage.mui"
2217 /*** Identifier base ********************************************************/
2218 #define MUIB_ChunkyImage (MUIB_ZUNE | 0x00004000)
2220 /*** Attributes *************************************************************/
2221 #define MUIA_ChunkyImage_Pixels (MUIB_ChunkyImage | 0x00000000) /* V8 isg UBYTE * */
2222 #define MUIA_ChunkyImage_Palette (MUIB_ChunkyImage | 0x00000001) /* V8 isg UBYTE * */
2223 #define MUIA_ChunkyImage_NumColors (MUIB_ChunkyImage | 0x00000002) /* V8 isg LONG */
2224 #define MUIA_ChunkyImage_Modulo (MUIB_ChunkyImage | 0x00000003) /* V8 isg LONG */
2228 #endif /* _MUI_CLASSES_CHUNKYIMAGE_H */
2229 #endif
2231 #ifndef _MUI_CLASSES_LISTVIEW_H
2232 #ifndef _CLASSES_LISTVIEW_H
2233 #define _CLASSES_LISTVIEW_H
2236 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2237 $Id$
2240 /*** Name *******************************************************************/
2241 #define MUIC_Listview "Listview.mui"
2243 /*** Identifier base (for Zune extensions) **********************************/
2244 #define MUIB_Listview (MUIB_ZUNE | 0x00001900)
2246 /*** Attributes *************************************************************/
2247 #define MUIA_Listview_ClickColumn (MUIB_MUI|0x0042d1b3) /* V7 ..g LONG */
2248 #define MUIA_Listview_DefClickColumn (MUIB_MUI|0x0042b296) /* V7 isg LONG */
2249 #define MUIA_Listview_DoubleClick (MUIB_MUI|0x00424635) /* V4 i.g BOOL */
2250 #define MUIA_Listview_DragType (MUIB_MUI|0x00425cd3) /* V11 isg LONG */
2251 #define MUIA_Listview_Input (MUIB_MUI|0x0042682d) /* V4 i.. BOOL */
2252 #define MUIA_Listview_List (MUIB_MUI|0x0042bcce) /* V4 i.g Object */
2253 #define MUIA_Listview_MultiSelect (MUIB_MUI|0x00427e08) /* V7 i.. LONG */
2254 #define MUIA_Listview_ScrollerPos (MUIB_MUI|0x0042b1b4) /* V10 i.. BOOL */
2255 #define MUIA_Listview_SelectChange (MUIB_MUI|0x0042178f) /* V4 ..g BOOL */
2257 enum
2259 MUIV_Listview_DragType_None = 0,
2260 MUIV_Listview_DragType_Immediate,
2263 enum
2265 MUIV_Listview_MultiSelect_None = 0,
2266 MUIV_Listview_MultiSelect_Default,
2267 MUIV_Listview_MultiSelect_Shifted,
2268 MUIV_Listview_MultiSelect_Always,
2271 enum
2273 MUIV_Listview_ScrollerPos_Default = 0,
2274 MUIV_Listview_ScrollerPos_Left,
2275 MUIV_Listview_ScrollerPos_Right,
2276 MUIV_Listview_ScrollerPos_None,
2281 #endif /* _CLASSES_LISTVIEW_H */
2282 #endif
2284 #ifndef _MUI_CLASSES_LIST_H
2285 #ifndef _MUI_CLASSES_LIST_H
2286 #define _MUI_CLASSES_LIST_H
2289 Copyright © 2002-2011, The AROS Development Team. All rights reserved.
2290 $Id$
2293 /****************************************************************************/
2294 /*** Name *******************************************************************/
2295 #define MUIC_List "List.mui"
2297 /*** Identifier base (for Zune extensions) **********************************/
2298 #define MUIB_List (MUIB_ZUNE | 0x00001400)
2300 /*** Methods ****************************************************************/
2301 #define MUIM_List_Clear (MUIB_MUI|0x0042ad89) /* MUI: V4 */
2302 #define MUIM_List_Compare (MUIB_MUI|0x00421b68) /* MUI: V20 */
2303 #define MUIM_List_Construct (MUIB_MUI|0x0042d662) /* MUI: V20 */
2304 #define MUIM_List_CreateImage (MUIB_MUI|0x00429804) /* MUI: V11 */
2305 #define MUIM_List_DeleteImage (MUIB_MUI|0x00420f58) /* MUI: V11 */
2306 #define MUIM_List_Destruct (MUIB_MUI|0x00427d51) /* MUI: V20 */
2307 #define MUIM_List_Display (MUIB_MUI|0x00425377) /* MUI: V20 */
2308 #define MUIM_List_Exchange (MUIB_MUI|0x0042468c) /* MUI: V4 */
2309 #define MUIM_List_GetEntry (MUIB_MUI|0x004280ec) /* MUI: V4 */
2310 #define MUIM_List_Insert (MUIB_MUI|0x00426c87) /* MUI: V4 */
2311 #define MUIM_List_InsertSingle (MUIB_MUI|0x004254d5) /* MUI: V7 */
2312 #define MUIM_List_Jump (MUIB_MUI|0x0042baab) /* MUI: V4 */
2313 #define MUIM_List_Move (MUIB_MUI|0x004253c2) /* MUI: V9 */
2314 #define MUIM_List_NextSelected (MUIB_MUI|0x00425f17) /* MUI: V6 */
2315 #define MUIM_List_Redraw (MUIB_MUI|0x00427993) /* MUI: V4 */
2316 #define MUIM_List_Remove (MUIB_MUI|0x0042647e) /* MUI: V4 */
2317 #define MUIM_List_Select (MUIB_MUI|0x004252d8) /* MUI: V4 */
2318 #define MUIM_List_Sort (MUIB_MUI|0x00422275) /* MUI: V4 */
2319 #define MUIM_List_TestPos (MUIB_MUI|0x00425f48) /* MUI: V11 */
2320 struct MUIP_List_Clear {STACKED ULONG MethodID;};
2321 struct MUIP_List_Compare {STACKED ULONG MethodID; STACKED APTR entry1; STACKED APTR entry2; STACKED LONG sort_type1; STACKED LONG sort_type2;};
2322 struct MUIP_List_Construct {STACKED ULONG MethodID; STACKED APTR entry; STACKED APTR pool;};
2323 struct MUIP_List_CreateImage {STACKED ULONG MethodID; STACKED Object *obj; STACKED ULONG flags;};
2324 struct MUIP_List_DeleteImage {STACKED ULONG MethodID; STACKED APTR listimg;};
2325 struct MUIP_List_Destruct {STACKED ULONG MethodID; STACKED APTR entry; STACKED APTR pool;};
2326 struct MUIP_List_Display {STACKED ULONG MethodID; STACKED APTR entry; STACKED STRPTR *array; STACKED LONG entry_pos; STACKED STRPTR *preparses;};
2327 struct MUIP_List_Exchange {STACKED ULONG MethodID; STACKED LONG pos1; STACKED LONG pos2;};
2328 struct MUIP_List_GetEntry {STACKED ULONG MethodID; STACKED LONG pos; STACKED APTR *entry;};
2329 struct MUIP_List_Insert {STACKED ULONG MethodID; STACKED APTR *entries; STACKED LONG count; STACKED LONG pos;};
2330 struct MUIP_List_InsertSingle {STACKED ULONG MethodID; STACKED APTR entry; STACKED LONG pos;};
2331 struct MUIP_List_Jump {STACKED ULONG MethodID; STACKED LONG pos;};
2332 struct MUIP_List_Move {STACKED ULONG MethodID; STACKED LONG from; STACKED LONG to;};
2333 struct MUIP_List_NextSelected {STACKED ULONG MethodID; STACKED LONG *pos;};
2334 struct MUIP_List_Redraw {STACKED ULONG MethodID; STACKED LONG pos;};
2335 struct MUIP_List_Remove {STACKED ULONG MethodID; STACKED LONG pos;};
2336 struct MUIP_List_Select {STACKED ULONG MethodID; STACKED LONG pos; STACKED LONG seltype; STACKED LONG *state;};
2337 struct MUIP_List_Sort {STACKED ULONG MethodID;};
2338 struct MUIP_List_TestPos {STACKED ULONG MethodID; STACKED LONG x; STACKED LONG y; STACKED struct MUI_List_TestPos_Result *res;};
2340 struct MUIP_List_SelectChange {STACKED ULONG MethodID; STACKED LONG pos; STACKED LONG state; STACKED ULONG flags;};
2342 /*** Attributes *************************************************************/
2343 #define MUIA_List_Active (MUIB_MUI|0x0042391c) /* MUI: V4 isg LONG */
2344 #define MUIA_List_AdjustHeight (MUIB_MUI|0x0042850d) /* MUI: V4 i.. BOOL */
2345 #define MUIA_List_AdjustWidth (MUIB_MUI|0x0042354a) /* MUI: V4 i.. BOOL */
2346 #define MUIA_List_AutoVisible (MUIB_MUI|0x0042a445) /* MUI: V11 isg BOOL */
2347 #define MUIA_List_CompareHook (MUIB_MUI|0x00425c14) /* MUI: V4 is. struct Hook * */
2348 #define MUIA_List_ConstructHook (MUIB_MUI|0x0042894f) /* MUI: V4 is. struct Hook * */
2349 #define MUIA_List_DestructHook (MUIB_MUI|0x004297ce) /* MUI: V4 is. struct Hook * */
2350 #define MUIA_List_DisplayHook (MUIB_MUI|0x0042b4d5) /* MUI: V4 is. struct Hook * */
2351 #define MUIA_List_DragSortable (MUIB_MUI|0x00426099) /* MUI: V11 isg BOOL */
2352 #define MUIA_List_DropMark (MUIB_MUI|0x0042aba6) /* MUI: V11 ..g LONG */
2353 #define MUIA_List_Entries (MUIB_MUI|0x00421654) /* MUI: V4 ..g LONG */
2354 #define MUIA_List_First (MUIB_MUI|0x004238d4) /* MUI: V4 ..g LONG */
2355 #define MUIA_List_Format (MUIB_MUI|0x00423c0a) /* MUI: V4 isg STRPTR */
2356 #define MUIA_List_InsertPosition (MUIB_MUI|0x0042d0cd) /* MUI: V9 ..g LONG */
2357 #define MUIA_List_MinLineHeight (MUIB_MUI|0x0042d1c3) /* MUI: V4 i.. LONG */
2358 #define MUIA_List_MultiTestHook (MUIB_MUI|0x0042c2c6) /* MUI: V4 is. struct Hook * */
2359 #define MUIA_List_Pool (MUIB_MUI|0x00423431) /* MUI: V13 i.. APTR */
2360 #define MUIA_List_PoolPuddleSize (MUIB_MUI|0x0042a4eb) /* MUI: V13 i.. ULONG */
2361 #define MUIA_List_PoolThreshSize (MUIB_MUI|0x0042c48c) /* MUI: V13 i.. ULONG */
2362 #define MUIA_List_Quiet (MUIB_MUI|0x0042d8c7) /* MUI: V4 .s. BOOL */
2363 #define MUIA_List_ShowDropMarks (MUIB_MUI|0x0042c6f3) /* MUI: V11 isg BOOL */
2364 #define MUIA_List_SourceArray (MUIB_MUI|0x0042c0a0) /* MUI: V4 i.. APTR */
2365 #define MUIA_List_Title (MUIB_MUI|0x00423e66) /* MUI: V6 isg char * */
2366 #define MUIA_List_Visible (MUIB_MUI|0x0042191f) /* MUI: V4 ..g LONG */
2369 /* Structure of the List Position Text (MUIM_List_TestPos) */
2370 struct MUI_List_TestPos_Result
2372 LONG entry; /* entry number, maybe -1 if testpos is not over valid entry */
2373 WORD column; /* the number of the column, maybe -1 (unvalid) */
2374 UWORD flags; /* some flags, see below */
2375 WORD xoffset; /* x offset (in pixels) of testpos relative to the start of the column */
2376 WORD yoffset; /* y offset (in pixels) of testpos relative from center of line
2377 ( <0 => testpos was above, >0 => testpos was below center) */
2380 #define MUI_LPR_ABOVE (1<<0)
2381 #define MUI_LPR_BELOW (1<<1)
2382 #define MUI_LPR_LEFT (1<<2)
2383 #define MUI_LPR_RIGHT (1<<3)
2385 enum
2387 MUIV_List_Active_Off = -1,
2388 MUIV_List_Active_Top = -2,
2389 MUIV_List_Active_Bottom = -3,
2390 MUIV_List_Active_Up = -4,
2391 MUIV_List_Active_Down = -5,
2392 MUIV_List_Active_PageUp = -6,
2393 MUIV_List_Active_PageDown = -7,
2396 #define MUIV_List_ConstructHook_String (IPTR)-1
2397 #define MUIV_List_CopyHook_String (IPTR)-1
2398 #define MUIV_List_CursorType_None 0
2399 #define MUIV_List_CursorType_Bar 1
2400 #define MUIV_List_CursorType_Rect 2
2401 #define MUIV_List_DestructHook_String (IPTR)-1
2403 enum
2405 MUIV_List_Insert_Top = 0,
2406 MUIV_List_Insert_Active = -1,
2407 MUIV_List_Insert_Sorted = -2,
2408 MUIV_List_Insert_Bottom = -3
2411 enum
2413 MUIV_List_Remove_First = 0,
2414 MUIV_List_Remove_Active = -1,
2415 MUIV_List_Remove_Last = -2,
2416 MUIV_List_Remove_Selected = -3,
2419 enum
2421 MUIV_List_Select_Active = -1,
2422 MUIV_List_Select_All = -2,
2424 MUIV_List_Select_Off = 0,
2425 MUIV_List_Select_On = 1,
2426 MUIV_List_Select_Toggle = 2,
2427 MUIV_List_Select_Ask = 3,
2430 enum
2432 MUIV_List_GetEntry_Active = -1,
2435 enum
2437 MUIV_List_Redraw_Active = -1,
2438 MUIV_List_Redraw_All = -2,
2441 enum
2443 MUIV_List_Move_Top = 0,
2444 MUIV_List_Move_Active = -1,
2445 MUIV_List_Move_Bottom = -2,
2446 MUIV_List_Move_Next = -3, /* for 2nd parameter only */
2447 MUIV_List_Move_Previous = -4, /* for 2nd parameter only */
2450 enum
2452 MUIV_List_Exchange_Top = 0,
2453 MUIV_List_Exchange_Active = -1,
2454 MUIV_List_Exchange_Bottom = -2,
2455 MUIV_List_Exchange_Next = -3, /* for 2nd parameter only */
2456 MUIV_List_Exchange_Previous = -4, /* for 2nd parameter only */
2459 enum
2461 MUIV_List_Jump_Top = 0,
2462 MUIV_List_Jump_Active = -1,
2463 MUIV_List_Jump_Bottom = -2,
2464 MUIV_List_Jump_Down = -3,
2465 MUIV_List_Jump_Up = -4,
2468 #define MUIV_List_NextSelected_Start (-1)
2469 #define MUIV_List_NextSelected_End (-1)
2472 #define MUIV_NList_SelectChange_Flag_Multi (1 << 0)
2479 /****************************************************************************/
2480 /*** Name *******************************************************************/
2481 #define MUIC_Scrmodelist "Scrmodelist.mui"
2483 /*** Identifier base (for Zune extensions) **********************************/
2484 #define MUIB_Scrmodelist (MUIB_ZUNE | 0x00001700)
2490 #endif /* _MUI_CLASSES_LIST_H */
2491 #endif
2493 #ifndef _MUI_CLASSES_FLOATTEXT_H
2494 #ifndef _MUI_CLASSES_FLOATTEXT_H
2495 #define _MUI_CLASSES_FLOATTEXT_H
2498 Copyright © 2002-2010, The AROS Development Team. All rights reserved.
2499 $Id$
2502 /*** Name *******************************************************************/
2503 #define MUIC_Floattext "Floattext.mui"
2505 /*** Identifier base (for Zune extensions) **********************************/
2506 #define MUIB_Floattext (MUIB_ZUNE | 0x00001500)
2508 /*** Attributes *************************************************************/
2509 #define MUIA_Floattext_Justify (MUIB_MUI|0x0042dc03) /* MUI: V4 isg BOOL */
2510 #define MUIA_Floattext_SkipChars (MUIB_MUI|0x00425c7d) /* MUI: V4 is. STRPTR */
2511 #define MUIA_Floattext_TabSize (MUIB_MUI|0x00427d17) /* MUI: V4 is. LONG */
2512 #define MUIA_Floattext_Text (MUIB_MUI|0x0042d16a) /* MUI: V4 isg STRPTR */
2515 #endif /* _MUI_CLASSES_VOLUMELIST_H */
2516 #endif
2518 #ifndef _MUI_CLASSES_POPSTRING_H
2519 #ifndef _MUI_CLASSES_POPSTRING_H
2520 #define _MUI_CLASSES_POPSTRING_H
2523 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2524 $Id$
2527 /*** Name *******************************************************************/
2528 #define MUIC_Popstring "Popstring.mui"
2530 /*** Identifier base (for Zune extensions) **********************************/
2531 #define MUIB_Popstring (MUIB_ZUNE | 0x00002800)
2533 /*** Methods ****************************************************************/
2534 #define MUIM_Popstring_Close (MUIB_MUI|0x0042dc52) /* MUI: V7 */
2535 #define MUIM_Popstring_Open (MUIB_MUI|0x004258ba) /* MUI: V7 */
2536 struct MUIP_Popstring_Close {STACKED ULONG MethodID; STACKED LONG result;};
2537 struct MUIP_Popstring_Open {STACKED ULONG MethodID; };
2539 /*** Attributes *************************************************************/
2540 #define MUIA_Popstring_Button (MUIB_MUI|0x0042d0b9) /* MUI: V7 i.g Object * */
2541 #define MUIA_Popstring_CloseHook (MUIB_MUI|0x004256bf) /* MUI: V7 isg struct Hook * */
2542 #define MUIA_Popstring_OpenHook (MUIB_MUI|0x00429d00) /* MUI: V7 isg struct Hook * */
2543 #define MUIA_Popstring_String (MUIB_MUI|0x004239ea) /* MUI: V7 i.g Object * */
2544 #define MUIA_Popstring_Toggle (MUIB_MUI|0x00422b7a) /* MUI: V7 isg BOOL */
2548 #endif /* _MUI_CLASSES_POPSTRING_H */
2549 #endif
2551 #ifndef _MUI_CLASSES_POPOBJECT_H
2552 #ifndef _MUI_CLASSES_POPOBJECT_H
2553 #define _MUI_CLASSES_POPOBJECT_H
2556 Copyright © 2002-2006, The AROS Development Team. All rights reserved.
2557 $Id$
2560 /****************************************************************************/
2561 /*** Name *******************************************************************/
2562 #define MUIC_Popobject "Popobject.mui"
2564 /*** Identifier base ********************************************************/
2565 #define MUIB_Popobject (MUIB_ZUNE | 0x00002400)
2567 /*** Attributes *************************************************************/
2568 #define MUIA_Popobject_Follow (MUIB_MUI|0x00424cb5) /* MUI: V7 isg BOOL */
2569 #define MUIA_Popobject_Light (MUIB_MUI|0x0042a5a3) /* MUI: V7 isg BOOL */
2570 #define MUIA_Popobject_Object (MUIB_MUI|0x004293e3) /* MUI: V7 i.g Object * */
2571 #define MUIA_Popobject_ObjStrHook (MUIB_MUI|0x0042db44) /* MUI: V7 isg struct Hook * */
2572 #define MUIA_Popobject_StrObjHook (MUIB_MUI|0x0042fbe1) /* MUI: V7 isg struct Hook * */
2573 #define MUIA_Popobject_Volatile (MUIB_MUI|0x004252ec) /* MUI: V7 isg BOOL */
2574 #define MUIA_Popobject_WindowHook (MUIB_MUI|0x0042f194) /* MUI: V9 isg struct Hook * */
2578 #endif /*_MUI_CLASSES_POPOBJECT_H */
2579 #endif
2581 #ifndef _MUI_CLASSES_CYCLE_H
2582 #ifndef _MUI_CLASSES_CYCLE_H
2583 #define _MUI_CLASSES_CYCLE_H
2586 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2587 $Id$
2590 /*** Name *******************************************************************/
2591 #define MUIC_Cycle "Cycle.mui"
2593 /*** Identifier base (for Zune extensions) **********************************/
2594 #define MUIB_Cycle (MUIB_ZUNE | 0x00000a00)
2596 /*** Attributes *************************************************************/
2597 #define MUIA_Cycle_Active (MUIB_MUI|0x00421788) /* MUI:V4 isg LONG */
2598 #define MUIA_Cycle_Entries (MUIB_MUI|0x00420629) /* MUI:V4 i.. STRPTR */
2600 enum
2602 MUIV_Cycle_Active_Next = -1,
2603 MUIV_Cycle_Active_Prev = -2,
2607 #endif /* _MUI_CLASSES_CYCLE_H */
2608 #endif
2610 #ifndef _MUI_CLASSES_GAUGE_H
2611 #ifndef _MUI_CLASSES_GAUGE_H
2612 #define _MUI_CLASSES_GAUGE_H
2615 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2616 $Id$
2619 /*** Name *******************************************************************/
2620 #define MUIC_Gauge "Gauge.mui"
2622 /*** Identifier base (for Zune extensions) **********************************/
2623 #define MUIB_Gauge (MUIB_ZUNE | 0x00000f00)
2625 /*** Attributes *************************************************************/
2626 #define MUIA_Gauge_Current (MUIB_MUI|0x0042f0dd) /* MUI: V4 isg LONG */
2627 #define MUIA_Gauge_Divide (MUIB_MUI|0x0042d8df) /* MUI: V4 isg LONG */
2628 #define MUIA_Gauge_Horiz (MUIB_MUI|0x004232dd) /* MUI: V4 i.. BOOL */
2629 #define MUIA_Gauge_InfoText (MUIB_MUI|0x0042bf15) /* MUI: V7 isg STRPTR */
2630 #define MUIA_Gauge_Max (MUIB_MUI|0x0042bcdb) /* MUI: V4 isg LONG */
2632 #define MUIA_Gauge_DupInfoText (MUIB_Gauge | 0x00000000) /* ZUNE: V1 i.. BOOL - defaults to FALSE */
2636 #endif /* _MUI_CLASSES_GAUGE_H */
2637 #endif
2639 #ifndef _MUI_CLASSES_IMAGE_H
2640 #ifndef _MUI_CLASSES_IMAGE_H
2641 #define _MUI_CLASSES_IMAGE_H
2644 Copyright 2002-2003, The AROS Development Team. All rights reserved.
2645 $Id$
2648 /*** Name *******************************************************************/
2649 #define MUIC_Image "Image.mui"
2651 /*** Identifier base (for Zune extensions) **********************************/
2652 #define MUIB_Image (MUIB_ZUNE | 0x00001300)
2654 /*** Attributes *************************************************************/
2655 #define MUIA_Image_FontMatch (MUIB_MUI|0x0042815d) /* MUI: V4 i.. BOOL */
2656 #define MUIA_Image_FontMatchHeight (MUIB_MUI|0x00429f26) /* MUI: V4 i.. BOOL */
2657 #define MUIA_Image_FontMatchWidth (MUIB_MUI|0x004239bf) /* MUI: V4 i.. BOOL */
2658 #define MUIA_Image_FreeHoriz (MUIB_MUI|0x0042da84) /* MUI: V4 i.. BOOL */
2659 #define MUIA_Image_FreeVert (MUIB_MUI|0x0042ea28) /* MUI: V4 i.. BOOL */
2660 #define MUIA_Image_OldImage (MUIB_MUI|0x00424f3d) /* MUI: V4 i.. struct Image * */
2661 #define MUIA_Image_Spec (MUIB_MUI|0x004233d5) /* MUI: V4 i.. char * */
2662 #define MUIA_Image_State (MUIB_MUI|0x0042a3ad) /* MUI: V4 is. LONG */
2666 #endif /* _MUI_CLASSES_IMAGE_H */
2667 #endif
2669 #ifndef _MUI_CLASSES_IMAGEDISPLAY_H
2670 #ifndef _MUI_CLASSES_IMAGEDISPLAY_H
2671 #define _MUI_CLASSES_IMAGEDISPLAY_H
2674 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2675 $Id$
2678 /*** Name *******************************************************************/
2679 #define MUIC_Imagedisplay "Imagedisplay.mui"
2681 /*** Identifier base (for Zune extensions) **********************************/
2682 #define MUIB_Imagedisplay (MUIB_ZUNE | 0x00001200)
2684 /*** Attributes *************************************************************/
2685 #define MUIA_Imagedisplay_Spec (MUIB_MUI|0x0042a547) /* MUI: V11 isg struct MUI_ImageSpec * */
2686 #define MUIA_Imagedisplay_UseDefSize (MUIB_MUI|0x0042186d) /* MUI: V11 i.. BOOL (undoc) */
2688 #define MUIA_Imagedisplay_FreeHoriz (MUIB_Imagedisplay | 0x00000000) /* Zune 20030323 i.. BOOL [TRUE] */
2689 #define MUIA_Imagedisplay_FreeVert (MUIB_Imagedisplay | 0x00000001) /* Zune 20030323 i.. BOOL [TRUE] */
2693 #endif /* _MUI_CLASSES_IMAGEDISPLAY_H */
2694 #endif
2696 #ifndef _MUI_CLASSES_POPASL_H
2697 #ifndef _MUI_CLASSES_POPASL_H
2698 #define _MUI_CLASSES_POPASL_H
2701 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2702 $Id$
2705 /*** Name *******************************************************************/
2706 #define MUIC_Popasl "Popasl.mui"
2708 /*** Identifier base (for Zune extensions) **********************************/
2709 #define MUIB_Popasl (MUIB_ZUNE | 0x00002100)
2712 /*** Attributes *************************************************************/
2713 #define MUIA_Popasl_Active (MUIB_MUI|0x00421b37) /* MUI: V7 ..g BOOL */
2714 #define MUIA_Popasl_StartHook (MUIB_MUI|0x0042b703) /* MUI: V7 isg struct Hook * */
2715 #define MUIA_Popasl_StopHook (MUIB_MUI|0x0042d8d2) /* MUI: V7 isg struct Hook * */
2716 #define MUIA_Popasl_Type (MUIB_MUI|0x0042df3d) /* MUI: V7 i.g ULONG */
2720 #endif /* _MUI_CLASSES_POPASL_H */
2721 #endif
2723 #ifndef _MUI_CLASSES_SETTINGSGROUP_H
2724 #ifndef _MUI_CLASSES_SETTINGSGROUP_H
2725 #define _MUI_CLASSES_SETTINGSGROUP_H
2728 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2729 $Id$
2732 /*** Name *******************************************************************/
2733 #define MUIC_Settingsgroup "Settingsgroup.mui"
2735 /*** Identifier base (for Zune extensions) **********************************/
2736 #define MUIB_Settingsgroup (MUIB_ZUNE | 0x00003100)
2738 /*** Methods ****************************************************************/
2739 #define MUIM_Settingsgroup_ConfigToGadgets (MUIB_MUI|0x00427043) /* MUI: V11 */
2740 #define MUIM_Settingsgroup_GadgetsToConfig (MUIB_MUI|0x00425242) /* MUI: V11 */
2741 struct MUIP_Settingsgroup_ConfigToGadgets {STACKED ULONG MethodID; STACKED Object *configdata; };
2742 struct MUIP_Settingsgroup_GadgetsToConfig {STACKED ULONG MethodID; STACKED Object *configdata; };
2746 #endif /* _MUI_CLASSES_SETTINGSGROUP_H */
2747 #endif
2749 #ifndef _MUI_CLASSES_SETTINGS_H
2750 #ifndef _MUI_CLASSES_SETTINGS_H
2751 #define _MUI_CLASSES_SETTINGS_H
2754 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2755 $Id$
2758 /*** Name *******************************************************************/
2759 #define MUIC_Settings "Settings.mui"
2761 /*** Identifier base (for Zune extensions) **********************************/
2762 #define MUIB_Settings (MUIB_ZUNE | 0x00003200)
2766 #endif /* _MUI_CLASSES_SETTINGS_H */
2767 #endif
2769 #ifndef _MUI_CLASSES_ABOUTMUI_H
2771 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
2772 $Id$
2775 #ifndef _MUI_CLASSES_ABOUTMUI_H
2776 #define _MUI_CLASSES_ABOUTMUI_H
2778 /*** Name *******************************************************************/
2779 #define MUIC_Aboutmui "Aboutmui.mui"
2781 /*** Identifier base (for Zune extensions) **********************************/
2782 #define MUIB_Aboutmui (MUIB_ZUNE | 0x00000000)
2784 /*** Attributes *************************************************************/
2785 #define MUIA_Aboutmui_Application (MUIB_MUI | 0x00422523) /* V11 i.. Object * */
2789 #endif /* _MUI_CLASSES_ABOUTMUI_H */
2790 #endif
2792 #ifndef _MUI_CLASSES_CONFIGDATA_H
2794 Copyright 2002-2003, The AROS Development Team. All rights reserved.
2795 $Id$
2798 #ifndef _MUI_CLASSES_CONFIGDATA_H
2799 #define _MUI_CLASSES_CONFIGDATA_H
2801 /*** Name *******************************************************************/
2802 #define MUIC_Configdata "Configdata.mui"
2804 /*** Identifier base (for Zune extensions) **********************************/
2805 #define MUIB_Configdata (MUIB_ZUNE | 0x00000900)
2807 /* The config items for MUIM_GetConfigItem */
2808 #define MUICFG_Invalid (-1)
2809 #define MUICFG_Window_Spacing_Left 0x01 /* ULONG, horiz pixels (def=4) */
2810 #define MUICFG_Window_Spacing_Right 0x02 /* ULONG, horiz pixels (def=4) */
2811 #define MUICFG_Window_Spacing_Top 0x03 /* ULONG, vert pixels (def=3) */
2812 #define MUICFG_Window_Spacing_Bottom 0x04 /* ULONG, vert pixels (def=3) */
2813 #define MUICFG_Radio_HSpacing 0x05 /* ULONG, horiz pixels (def=4) */
2814 #define MUICFG_Radio_VSpacing 0x06 /* ULONG, vertical pixels (def=1) */
2815 #define MUICFG_Group_HSpacing 0x07 /* ULONG, horiz pixels (def=6) */
2816 #define MUICFG_Group_VSpacing 0x08 /* ULONG, vertical pixels (def=3) */
2817 #define MUICFG_Scrollbar_Arrangement 0x09 /* ULONG, top = 0 (def), middle, bottom */
2818 #define MUICFG_Listview_Refresh 0x0a /* ULONG, linear, mixed = 1 (def) */
2819 #define MUICFG_Listview_Font_Leading 0x0b /* ULONG, vertical pixels (def=1) */
2820 #define MUICFG_Listview_SmoothVal 0x0c /* ULONG, ? (def=0) */
2821 #define MUICFG_Listview_Multi 0x0d /* ULONG, shifted = 0 (def), always */
2822 #define MUICFG_GroupTitle_Position 0x0f /* ULONG, 1=centered */
2823 #define MUICFG_GroupTitle_Color 0x10 /* ULONG, 0=normal */
2824 #define MUICFG_Cycle_MenuCtrl_Level 0x11 /* ULONG, num of entries (def=2) */
2825 #define MUICFG_Cycle_MenuCtrl_Position 0x12 /* ULONG, below = 0 (def), on active */
2826 #define MUICFG_Frame_Drag 0x18
2827 #define MUICFG_Cycle_Menu_Recessed 0x19 /* ULONG, false = 0 (def), true */
2828 #define MUICFG_Cycle_MenuCtrl_Speed 0x1a /* ULONG, num of ticks (0..50) (def=0) */
2829 #define MUICFG_Listview_Smoothed 0x1b /* ULONG, false = 0 (def), true */
2830 #define MUICFG_Window_Redraw 0x1d /* ULONG, no clear, clear = 1 (def) */
2831 #define MUICFG_Font_Normal 0x1e
2832 #define MUICFG_Font_List 0x1f
2833 #define MUICFG_Font_Tiny 0x20
2834 #define MUICFG_Font_Fixed 0x21
2835 #define MUICFG_Font_Title 0x22
2836 #define MUICFG_Font_Big 0x23
2837 #define MUICFG_PublicScreen 0x24
2838 #define MUICFG_Frame_Button 0x2b
2839 #define MUICFG_Frame_ImageButton 0x2c
2840 #define MUICFG_Frame_Text 0x2d
2841 #define MUICFG_Frame_String 0x2e
2842 #define MUICFG_Frame_ReadList 0x2f
2843 #define MUICFG_Frame_InputList 0x30
2844 #define MUICFG_Frame_Prop 0x31
2845 #define MUICFG_Frame_Gauge 0x32
2846 #define MUICFG_Frame_Group 0x33
2847 #define MUICFG_Frame_PopUp 0x34
2848 #define MUICFG_Frame_Virtual 0x35
2849 #define MUICFG_Frame_Slider 0x36
2850 #define MUICFG_Background_Window 0x37
2851 #define MUICFG_Background_Requester 0x38
2852 #define MUICFG_Background_Button 0x39
2853 #define MUICFG_Background_List 0x3a
2854 #define MUICFG_Background_Text 0x3b
2855 #define MUICFG_Background_Prop 0x3c
2856 #define MUICFG_Background_PopUp 0x3d
2857 #define MUICFG_Background_Selected 0x3e
2858 #define MUICFG_Background_ListCursor 0x3f
2859 #define MUICFG_Background_ListSelect 0x40
2860 #define MUICFG_Background_ListSelCur 0x41
2861 #define MUICFG_Image_ArrowUp 0x42
2862 #define MUICFG_Image_ArrowDown 0x43
2863 #define MUICFG_Image_ArrowLeft 0x44
2864 #define MUICFG_Image_ArrowRight 0x45
2865 #define MUICFG_Image_CheckMark 0x46
2866 #define MUICFG_Image_RadioButton 0x47
2867 #define MUICFG_Image_Cycle 0x48
2868 #define MUICFG_Image_PopUp 0x49
2869 #define MUICFG_Image_PopFile 0x4a
2870 #define MUICFG_Image_PopDrawer 0x4b
2871 #define MUICFG_Image_PropKnob 0x4c
2872 #define MUICFG_Image_Drawer 0x4d
2873 #define MUICFG_Image_HardDisk 0x4e
2874 #define MUICFG_Image_Disk 0x4f
2875 #define MUICFG_Image_Chip 0x50
2876 #define MUICFG_Image_Volume 0x51
2877 #define MUICFG_Image_Network 0x52
2878 #define MUICFG_Image_Assign 0x53
2879 #define MUICFG_Background_Register 0x54
2880 #define MUICFG_Image_TapePlay 0x55
2881 #define MUICFG_Image_TapePlayBack 0x56
2882 #define MUICFG_Image_TapePause 0x57
2883 #define MUICFG_Image_TapeStop 0x58
2884 #define MUICFG_Image_TapeRecord 0x59
2885 #define MUICFG_Background_Framed 0x5a
2886 #define MUICFG_Background_Slider 0x5b
2887 #define MUICFG_Background_SliderKnob 0x5c
2888 #define MUICFG_Image_TapeUp 0x5d
2889 #define MUICFG_Image_TapeDown 0x5e
2890 #define MUICFG_Keyboard_Press 0x5f
2891 #define MUICFG_Keyboard_Toggle 0x60
2892 #define MUICFG_Keyboard_Up 0x61
2893 #define MUICFG_Keyboard_Down 0x62
2894 #define MUICFG_Keyboard_PageUp 0x63
2895 #define MUICFG_Keyboard_PageDown 0x64
2896 #define MUICFG_Keyboard_Top 0x65
2897 #define MUICFG_Keyboard_Bottom 0x66
2898 #define MUICFG_Keyboard_Left 0x67
2899 #define MUICFG_Keyboard_Right 0x68
2900 #define MUICFG_Keyboard_WordLeft 0x69
2901 #define MUICFG_Keyboard_WordRight 0x6a
2902 #define MUICFG_Keyboard_LineStart 0x6b
2903 #define MUICFG_Keyboard_LineEnd 0x6c
2904 #define MUICFG_Keyboard_NextGadget 0x6d
2905 #define MUICFG_Keyboard_PrevGadget 0x6e
2906 #define MUICFG_Keyboard_GadgetOff 0x6f
2907 #define MUICFG_Keyboard_CloseWindow 0x70
2908 #define MUICFG_Keyboard_NextWindow 0x71
2909 #define MUICFG_Keyboard_PrevWindow 0x72
2910 #define MUICFG_Keyboard_Help 0x73
2911 #define MUICFG_Keyboard_Popup 0x74
2912 #define MUICFG_Window_Positions 0x7a
2913 #define MUICFG_Balance_Look 0x7b /* ULONG, frame = 0 (def), object */
2914 #define MUICFG_Font_Button 0x80
2915 #define MUICFG_Scrollbar_Type 0x83 /* ULONG, standard = 0 (def), newlook, custom */
2916 #define MUICFG_String_Background 0x84
2917 #define MUICFG_String_Text 0x85
2918 #define MUICFG_String_ActiveBackground 0x86
2919 #define MUICFG_String_ActiveText 0x87
2920 #define MUICFG_Font_Knob 0x88
2921 #define MUICFG_Drag_LeftButton 0x89 /* ULONG, false, true (def) */
2922 #define MUICFG_Drag_MiddleButton 0x8a /* ULONG, false (def), true */
2923 #define MUICFG_Drag_LMBModifier 0x8b /* key desc (def = control) */
2924 #define MUICFG_Drag_MMBModifier 0x8c /* key desc */
2925 #define MUICFG_Drag_Autostart 0x8d /* ULONG, false = 0, true (def) */
2926 #define MUICFG_Drag_Autostart_Length 0x8e /* ULONG, pixels (def = 3) */
2927 #define MUICFG_ActiveObject_Color 0x8f /* penspec */
2928 #define MUICFG_Frame_Knob 0x90
2929 #define MUICFG_Dragndrop_Look 0x94 /* ULONG, solid, ghosted on obj (def), ... */
2930 #define MUICFG_Background_Page 0x95
2931 #define MUICFG_Background_ReadList 0x96
2932 #define MUICFG_String_Cursor 0x400
2933 #define MUICFG_String_MarkedBackground 0x401
2934 #define MUICFG_String_MarkedText 0x402
2935 #define MUICFG_Register_TruncateTitles 0x403
2936 #define MUICFG_Window_Refresh 0x404
2937 #define MUICFG_Screen_Mode 0x505
2938 #define MUICFG_Screen_Mode_ID 0x506
2939 #define MUICFG_Screen_Width 0x507
2940 #define MUICFG_Screen_Height 0x508
2941 #define MUICFG_WindowPos 0x509
2942 #define MUICFG_Window_Buttons 0x50a
2944 #define MUICFG_CustomFrame_1 0x600
2945 #define MUICFG_CustomFrame_2 0x601
2946 #define MUICFG_CustomFrame_3 0x602
2947 #define MUICFG_CustomFrame_4 0x603
2948 #define MUICFG_CustomFrame_5 0x604
2949 #define MUICFG_CustomFrame_6 0x605
2950 #define MUICFG_CustomFrame_7 0x606
2951 #define MUICFG_CustomFrame_8 0x607
2952 #define MUICFG_CustomFrame_9 0x608
2953 #define MUICFG_CustomFrame_10 0x609
2954 #define MUICFG_CustomFrame_11 0x60a
2955 #define MUICFG_CustomFrame_12 0x60b
2956 #define MUICFG_CustomFrame_13 0x60c
2957 #define MUICFG_CustomFrame_14 0x60d
2958 #define MUICFG_CustomFrame_15 0x60e
2959 #define MUICFG_CustomFrame_16 0x60f
2961 #define MUICFG_PublicScreen_PopToFront 0x700
2962 #define MUICFG_Iconification_Hotkey 0x701
2963 #define MUICFG_Iconification_ShowIcon 0x702
2964 #define MUICFG_Iconification_ShowMenu 0x703
2965 #define MUICFG_Iconification_OnStartup 0x704
2966 #define MUICFG_Interfaces_EnableARexx 0x705
2967 #define MUICFG_BubbleHelp_FirstDelay 0x706
2968 #define MUICFG_BubbleHelp_NextDelay 0x707
2970 #define MUIM_Configdata_GetWindowPos (MUIB_Configdata | 0x0000002A)
2971 #define MUIM_Configdata_SetWindowPos (MUIB_Configdata | 0x0000002B)
2974 /*** Methods ****************************************************************/
2975 #define MUIM_Configdata_GetString (MUIB_Configdata | 0x00000000) /* Zune 20030319 */
2976 #define MUIM_Configdata_GetULong (MUIB_Configdata | 0x00000001) /* Zune 20030319 */
2977 #define MUIM_Configdata_SetULong (MUIB_Configdata | 0x00000002) /* Zune 20030320 */
2978 #define MUIM_Configdata_SetImspec (MUIB_Configdata | 0x00000003) /* Zune 20030323 */
2979 #define MUIM_Configdata_SetFramespec (MUIB_Configdata | 0x00000004) /* Zune 20030331 */
2980 #define MUIM_Configdata_SetFont (MUIB_Configdata | 0x00000005) /* Zune 20030323 */
2981 #define MUIM_Configdata_Save (MUIB_Configdata | 0x00000006) /* Zune 20030320 */
2982 #define MUIM_Configdata_Load (MUIB_Configdata | 0x00000007) /* Zune 20030320 */
2983 #define MUIM_Configdata_SetPenspec (MUIB_Configdata | 0x00000008) /* Zune 20030714 */
2984 #define MUIM_Configdata_SetString (MUIB_Configdata | 0x00000009) /* Zune 20030808 */
2985 struct MUIP_Configdata_GetString {STACKED ULONG MethodID; STACKED ULONG id; };
2986 struct MUIP_Configdata_GetULong {STACKED ULONG MethodID; STACKED ULONG id; };
2987 struct MUIP_Configdata_SetULong {STACKED ULONG MethodID; STACKED ULONG id; STACKED ULONG val; };
2988 struct MUIP_Configdata_SetImspec {STACKED ULONG MethodID; STACKED ULONG id; STACKED CONST_STRPTR imspec; };
2989 struct MUIP_Configdata_SetFramespec {STACKED ULONG MethodID; STACKED ULONG id; STACKED CONST_STRPTR framespec; };
2990 struct MUIP_Configdata_SetFont {STACKED ULONG MethodID; STACKED ULONG id; STACKED CONST_STRPTR font; };
2991 struct MUIP_Configdata_Save {STACKED ULONG MethodID; STACKED CONST_STRPTR filename; };
2992 struct MUIP_Configdata_Load {STACKED ULONG MethodID; STACKED CONST_STRPTR filename; };
2993 struct MUIP_Configdata_SetPenspec {STACKED ULONG MethodID; STACKED ULONG id; STACKED CONST_STRPTR penspec; };
2994 struct MUIP_Configdata_SetString {STACKED ULONG MethodID; STACKED ULONG id; STACKED CONST_STRPTR string; };
2996 /*** Attributes *************************************************************/
2997 #define MUIA_Configdata_Application (MUIB_Configdata | 0x00000000) /* ZV1: i.. Object * */
2998 #define MUIA_Configdata_ApplicationBase (MUIB_Configdata | 0x00000002) /* ZV1: i.. Object * */
3002 #endif /* _MUI_CLASSES_CONFIGDATA_H */
3003 #endif
3005 #ifndef _MUI_CLASSES_IMAGEADJUST_H
3006 #ifndef _MUI_CLASSES_IMAGEADJUST_H
3007 #define _MUI_CLASSES_IMAGEADJUST_H
3010 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3011 $Id$
3014 /*** Name *******************************************************************/
3015 #define MUIC_Imageadjust "Imageadjust.mui"
3017 /*** Identifier base (for AROS extensions) **********************************/
3018 #define MUIB_Imageadjust (MUIB_ZUNE | 0x00001100)
3020 /*** Attributes *************************************************************/
3021 #define MUIA_Imageadjust_Type (MUIB_MUI|0x00422f2b) /* MUI: V11 i.. LONG */
3022 #define MUIA_Imageadjust_Spec (MUIB_MUI|0x004279e1) /* MUI: ??? .g. char * */
3023 #define MUIA_Imageadjust_Originator (MUIB_Imageadjust|0x00000000) /* Zune: i.. Object * */
3025 enum
3027 MUIV_Imageadjust_Type_All = 0,
3028 MUIV_Imageadjust_Type_Image,
3029 MUIV_Imageadjust_Type_Background,
3030 MUIV_Imageadjust_Type_Pen,
3033 /*** Methods ****************************************************************/
3036 #endif /* _MUI_CLASSES_IMAGEADJUST_H */
3037 #endif
3039 #ifndef _MUI_CLASSES_POPIMAGE_H
3040 #ifndef _MUI_CLASSES_POPIMAGE_H
3041 #define _MUI_CLASSES_POPIMAGE_H
3044 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3045 $Id$
3048 /*** Name *******************************************************************/
3049 #define MUIC_Popimage "Popimage.mui"
3051 /*** Identifier base (for Zune extensions) **********************************/
3052 #define MUIB_Popimage (MUIB_ZUNE | 0x00002300)
3054 /*** Methods ****************************************************************/
3058 #endif /* _MUI_CLASSES_POPIMAGE_H */
3059 #endif
3061 #ifndef _MUI_CLASSES_SCALE_H
3062 #ifndef _MUI_CLASSES_SCALE_H
3063 #define _MUI_CLASSES_SCALE_H
3066 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3067 $Id$
3070 /*** Name *******************************************************************/
3071 #define MUIC_Scale "Scale.mui"
3073 /*** Identifier base (for Zune extensions) **********************************/
3074 #define MUIB_Scale (MUIB_ZUNE | 0x00002d00)
3076 /*** Attributes *************************************************************/
3077 #define MUIA_Scale_Horiz (MUIB_MUI|0x0042919a) /* MUI: V4 isg BOOL */
3081 #endif /* _MUI_CLASSES_SCALE_H */
3082 #endif
3084 #ifndef _MUI_CLASSES_RADIO_H
3085 #ifndef _MUI_CLASSES_RADIO_H
3086 #define _MUI_CLASSES_RADIO_H
3089 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3090 $Id$
3093 /*** Name *******************************************************************/
3094 #define MUIC_Radio "Radio.mui"
3096 /*** Identifier base (for Zune extensions) **********************************/
3097 #define MUIB_Radio (MUIB_ZUNE | 0x00002a00)
3099 /*** Attributes *************************************************************/
3100 #define MUIA_Radio_Active (MUIB_MUI|0x00429b41) /* MUI:V4 isg LONG */
3101 #define MUIA_Radio_Entries (MUIB_MUI|0x0042b6a1) /* MUI:V4 i.. STRPTR * */
3105 #endif /* _MUI_CLASSES_RADIO_H */
3106 #endif
3108 #ifndef _MUI_CLASSES_BALANCE_H
3110 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3111 $Id$
3114 #ifndef _MUI_CLASSES_BALANCE_H
3115 #define _MUI_CLASSES_BALANCE_H
3117 /*** Name *******************************************************************/
3118 #define MUIC_Balance "Balance.mui"
3120 /*** Identifier base (for Zune extensions) **********************************/
3121 #define MUIB_Balance (MUIB_ZUNE | 0x00000300)
3123 /*** Attributes *************************************************************/
3124 #define MUIA_Balance_Quiet (MUIB_Balance | 0x00000000) /* (zune) V20 i LONG */
3128 #endif /* _MUI_CLASSES_BALANCE_H */
3129 #endif
3131 #ifndef _MUI_CLASSES_PENDISPLAY_H
3132 #ifndef _MUI_CLASSES_PENDISPLAY_H
3133 #define _MUI_CLASSES_PENDISPLAY_H
3136 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3137 $Id$
3140 /*** Name *******************************************************************/
3141 #define MUIC_Pendisplay "Pendisplay.mui"
3143 /*** Identifier base (for Zune extensions) **********************************/
3144 #define MUIB_Pendisplay (MUIB_ZUNE | 0x00002000)
3146 /*** Methods ****************************************************************/
3147 #define MUIM_Pendisplay_SetColormap (MUIB_MUI|0x004243a7) /* MUI: V13 */
3148 #define MUIM_Pendisplay_SetMUIPen (MUIB_MUI|0x00426ecd) /* MUI: V13 */
3149 #define MUIM_Pendisplay_SetRGB (MUIB_MUI|0x0042032c) /* MUI: V13 */
3150 struct MUIP_Pendisplay_SetColormap {STACKED ULONG MethodID; STACKED LONG colormap;};
3151 struct MUIP_Pendisplay_SetMUIPen {STACKED ULONG MethodID; STACKED LONG muipen;};
3152 struct MUIP_Pendisplay_SetRGB {STACKED ULONG MethodID; STACKED ULONG r; STACKED ULONG g; STACKED ULONG b;};
3154 /*** Attributes *************************************************************/
3155 #define MUIA_Pendisplay_Pen (MUIB_MUI|0x0042a748) /* MUI: V13 ..g Object * */
3156 #define MUIA_Pendisplay_Reference (MUIB_MUI|0x0042dc24) /* MUI: V13 isg Object * */
3157 #define MUIA_Pendisplay_RGBcolor (MUIB_MUI|0x0042a1a9) /* MUI: V11 isg struct MUI_RGBcolor * */
3158 #define MUIA_Pendisplay_Spec (MUIB_MUI|0x0042a204) /* MUI: V11 isg struct MUI_PenSpec * */
3162 #endif /* _MUI_CLASSES_PENDISPLAY_H */
3163 #endif
3165 #ifndef _MUI_CLASSES_PENADJUST_H
3166 #ifndef _MUI_CLASSES_PENADJUST_H
3167 #define _MUI_CLASSES_PENADJUST_H
3170 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3171 $Id$
3174 /*** Name *******************************************************************/
3175 #define MUIC_Penadjust "Penadjust.mui"
3177 /*** Identifier base (for Zune extensions) **********************************/
3178 #define MUIB_Penadjust (MUIB_ZUNE | 0x00001f00)
3180 /*** Attributes *************************************************************/
3181 #define MUIA_Penadjust_PSIMode (MUIB_MUI|0x00421cbb) /* MUI: V11 i.. BOOL */
3186 #endif /* _MUI_CLASSES_PENADJUST_H */
3187 #endif
3189 #ifndef _MUI_CLASSES_POPPEN_H
3190 #ifndef _MUI_CLASSES_POPPEN_H
3191 #define _MUI_CLASSES_POPPEN_H
3194 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3195 $Id$
3198 /*** Name *******************************************************************/
3199 #define MUIC_Poppen "Poppen.mui"
3201 /*** Identifier base (for Zune extensions) **********************************/
3202 #define MUIB_Poppen (MUIB_ZUNE | 0x00002700)
3204 /*** Methods ****************************************************************/
3208 #endif /* _MUI_CLASSES_POPPEN_H */
3209 #endif
3211 #ifndef _MUI_CLASSES_COLORFIELD_H
3213 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3214 $Id$
3217 #ifndef _MUI_CLASSES_COLORFIELD_H
3218 #define _MUI_CLASSES_COLORFIELD_H
3220 /*** Name *******************************************************************/
3221 #define MUIC_Colorfield "Colorfield.mui"
3223 /*** Identifier base (for Zune extensions) **********************************/
3224 #define MUIB_Colorfield (MUIB_ZUNE | 0x00000800)
3226 /*** Attributes *************************************************************/
3227 #define MUIA_Colorfield_Pen (MUIB_MUI|0x0042713a) /* ..g ULONG */
3228 #define MUIA_Colorfield_Red (MUIB_MUI|0x004279f6) /* isg ULONG */
3229 #define MUIA_Colorfield_Green (MUIB_MUI|0x00424466) /* isg ULONG */
3230 #define MUIA_Colorfield_Blue (MUIB_MUI|0x0042d3b0) /* isg ULONG */
3231 #define MUIA_Colorfield_RGB (MUIB_MUI|0x0042677a) /* isg ULONG * */
3235 #endif /* _MUI_CLASSES_COLORFIELD_H */
3236 #endif
3238 #ifndef _MUI_CLASSES_COLORADJUST_H
3240 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3241 $Id$
3244 #ifndef _MUI_CLASSES_COLORADJUST_H
3245 #define _MUI_CLASSES_COLORADJUST_H
3247 /*** Name *******************************************************************/
3248 #define MUIC_Coloradjust "Coloradjust.mui"
3250 /*** Identifier base (for Zune extensions) **********************************/
3251 #define MUIB_Coloradjust (MUIB_ZUNE | 0x00000700)
3253 /*** Attributes *************************************************************/
3254 #define MUIA_Coloradjust_Red (MUIB_MUI|0x00420eaa) /* isg ULONG */
3255 #define MUIA_Coloradjust_Green (MUIB_MUI|0x004285ab) /* isg ULONG */
3256 #define MUIA_Coloradjust_Blue (MUIB_MUI|0x0042b8a3) /* isg ULONG */
3257 #define MUIA_Coloradjust_RGB (MUIB_MUI|0x0042f899) /* isg ULONG * */
3258 #define MUIA_Coloradjust_ModeID (MUIB_MUI|0x0042ec59) /* isg ULONG */
3262 #endif /* _MUI_CLASSES_COLORADJUST_H */
3263 #endif
3265 #ifndef _MUI_CLASSES_MCCPREFS_H
3267 Copyright © 2003, The AROS Development Team. All rights reserved.
3268 $Id$
3271 #ifndef _MUI_CLASSES_MCCPREFS_H
3272 #define _MUI_CLASSES_MCCPREFS_H
3274 #define MUIC_Mccprefs "Mccprefs.mui"
3277 #endif
3278 #endif
3280 #ifndef _MUI_CLASSES_FRAMEADJUST_H
3281 #ifndef _MUI_CLASSES_FRAMEADJUST_H
3282 #define _MUI_CLASSES_FRAMEADJUST_H
3285 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3286 $Id$
3289 /*** Name *******************************************************************/
3290 #define MUIC_Frameadjust "Frameadjust.mui"
3292 /*** Identifier base (for Zune extensions) **********************************/
3293 #define MUIB_Frameadjust (MUIB_ZUNE | 0x00000d00)
3295 /*** Attributes *************************************************************/
3296 #define MUIA_Frameadjust_Spec (MUIB_Frameadjust | 0x00000000) /* Zune 20030330 ig. CONST_STRPTR */
3300 #endif /* _MUI_CLASSES_FRAMEADJUST_H */
3301 #endif
3303 #ifndef _MUI_CLASSES_FRAMEDISPLAY_H
3304 #ifndef _MUI_CLASSES_FRAMEDISPLAY_H
3305 #define _MUI_CLASSES_FRAMEDISPLAY_H
3308 Copyright © 2003, The AROS Development Team. All rights reserved.
3309 $Id$
3312 /*** Name *******************************************************************/
3313 #define MUIC_Framedisplay "Framedisplay.mui"
3315 /*** Identifier base (for Zune extensions) **********************************/
3316 #define MUIB_Framedisplay (MUIB_ZUNE | 0x00000e00)
3318 /*** Attributes *************************************************************/
3319 #define MUIA_Framedisplay_Spec (MUIB_MUI|0x00421794) /* MUI: V?? isg struct MUI_FrameSpec * */
3322 #endif /* _MUI_CLASSES_FRAMEDISPLAY_H */
3323 #endif
3325 #ifndef _MUI_CLASSES_POPFRAME_H
3326 #ifndef _MUI_CLASSES_POPFRAME_H
3327 #define _MUI_CLASSES_POPFRAME_H
3330 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3331 $Id$
3334 /*** Name *******************************************************************/
3335 #define MUIC_Popframe "Popframe.mui"
3337 /*** Identifier base (for Zune extensions) **********************************/
3338 #define MUIB_Popframe (MUIB_ZUNE | 0x00002200)
3340 /*** Methods ****************************************************************/
3344 #endif /* _MUI_CLASSES_POPFRAME_H */
3345 #endif
3347 #ifndef _MUI_CLASSES_VOLUMELIST_H
3348 #ifndef _MUI_CLASSES_VOLUMELIST_H
3349 #define _MUI_CLASSES_VOLUMELIST_H
3352 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3353 $Id$
3356 /*** Name *******************************************************************/
3357 #define MUIC_Volumelist "Volumelist.mui"
3359 /*** Identifier base (for Zune extensions) **********************************/
3360 #define MUIB_Volumelist (MUIB_ZUNE | 0x1600)
3363 #endif /* _MUI_CLASSES_VOLUMELIST_H */
3364 #endif
3366 #ifndef _MUI_CLASSES_DIRLIST_H
3367 #ifndef _MUI_CLASSES_DIRLIST_H
3368 #define _MUI_CLASSES_DIRLIST_H
3371 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3372 $Id$
3375 /****************************************************************************/
3376 /*** Name *******************************************************************/
3377 #define MUIC_Dirlist "Dirlist.mui"
3379 /*** Identifer base (for Zune extensions) ***********************************/
3380 #define MUIB_Dirlist (MUIB_ZUNE | 0x00001800)
3382 /*** Methods ****************************************************************/
3384 #define MUIM_Dirlist_ReRead (MUIB_MUI|0x00422d71) /* MUI: V4 */
3385 struct MUIP_Dirlist_ReRead {STACKED ULONG MethodID;};
3387 /*** Attributes *************************************************************/
3388 #define MUIA_Dirlist_AcceptPattern (MUIB_MUI|0x0042760a) /* MUI: V4 is. STRPTR */
3389 #define MUIA_Dirlist_Directory (MUIB_MUI|0x0042ea41) /* MUI: V4 isg STRPTR */
3390 #define MUIA_Dirlist_DrawersOnly (MUIB_MUI|0x0042b379) /* MUI: V4 is. BOOL */
3391 #define MUIA_Dirlist_FilesOnly (MUIB_MUI|0x0042896a) /* MUI: V4 is. BOOL */
3392 #define MUIA_Dirlist_FilterDrawers (MUIB_MUI|0x00424ad2) /* MUI: V4 is. BOOL */
3393 #define MUIA_Dirlist_FilterHook (MUIB_MUI|0x0042ae19) /* MUI: V4 is. struct Hook * */
3394 #define MUIA_Dirlist_MultiSelDirs (MUIB_MUI|0x00428653) /* MUI: V6 is. BOOL */
3395 #define MUIA_Dirlist_NumBytes (MUIB_MUI|0x00429e26) /* MUI: V4 ..g LONG */
3396 #define MUIA_Dirlist_NumDrawers (MUIB_MUI|0x00429cb8) /* MUI: V4 ..g LONG */
3397 #define MUIA_Dirlist_NumFiles (MUIB_MUI|0x0042a6f0) /* MUI: V4 ..g LONG */
3398 #define MUIA_Dirlist_Path (MUIB_MUI|0x00426176) /* MUI: V4 ..g STRPTR */
3399 #define MUIA_Dirlist_RejectIcons (MUIB_MUI|0x00424808) /* MUI: V4 is. BOOL */
3400 #define MUIA_Dirlist_RejectPattern (MUIB_MUI|0x004259c7) /* MUI: V4 is. STRPTR */
3401 #define MUIA_Dirlist_SortDirs (MUIB_MUI|0x0042bbb9) /* MUI: V4 is. LONG */
3402 #define MUIA_Dirlist_SortHighLow (MUIB_MUI|0x00421896) /* MUI: V4 is. BOOL */
3403 #define MUIA_Dirlist_SortType (MUIB_MUI|0x004228bc) /* MUI: V4 is. LONG */
3404 #define MUIA_Dirlist_Status (MUIB_MUI|0x004240de) /* MUI: V4 ..g LONG */
3406 enum {
3407 MUIV_Dirlist_SortDirs_First = 0,
3408 MUIV_Dirlist_SortDirs_Last,
3409 MUIV_Dirlist_SortDirs_Mix,
3412 enum {
3413 MUIV_Dirlist_SortType_Name = 0,
3414 MUIV_Dirlist_SortType_Date,
3415 MUIV_Dirlist_SortType_Size,
3418 enum {
3419 MUIV_Dirlist_Status_Invalid = 0,
3420 MUIV_Dirlist_Status_Reading,
3421 MUIV_Dirlist_Status_Valid,
3425 #endif /* _MUI_CLASSES_DIRLIST_H */
3426 #endif
3428 #ifndef _MUI_CLASSES_NUMERICBUTTON_H
3429 #ifndef _MUI_CLASSES_NUMERICBUTTON_H
3430 #define _MUI_CLASSES_NUMERICBUTTON_H
3433 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3434 $Id$
3437 /*** Name *******************************************************************/
3438 #define MUIC_Numericbutton "Numericbutton.mui"
3440 /*** Identifier base (for Zune extensions) **********************************/
3441 //#define MUIB_Numericbutton (MUIB_ZUNE | 0x????)
3444 #endif /* _MUI_CLASSES_NUMERICBUTTON_H */
3445 #endif
3447 #ifndef _MUI_CLASSES_POPLIST_H
3448 #ifndef _MUI_CLASSES_POPLIST_H
3449 #define _MUI_CLASSES_POPLIST_H
3452 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3453 $Id$
3456 /****************************************************************************/
3457 /*** Name *******************************************************************/
3458 #define MUIC_Poplist "Poplist.mui"
3460 /*** Identifier base (for Zune extensions) **********************************/
3461 #define MUIB_Poplist (MUIB_ZUNE | 0x00002500)
3463 /*** Attributes *************************************************************/
3464 #define MUIA_Poplist_Array (MUIB_MUI|0x0042084c) /* MUI: V8 i.. char ** */
3467 #endif /* _MUI_CLASSES_POPLIST_H */
3468 #endif
3470 #ifndef _MUI_CLASSES_POPSCREEN_H
3471 #ifndef _MUI_CLASSES_POPSCREEN_H
3472 #define _MUI_CLASSES_POPSCREEN_H
3475 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3476 $Id$
3479 /****************************************************************************/
3480 /*** Name *******************************************************************/
3481 #define MUIC_Popscreen "Popscreen.mui"
3483 /*** Identifier base (for Zune extensions) **********************************/
3484 #define MUIB_Popscreen (MUIB_ZUNE | 0x00002600)
3488 #endif /* _MUI_CLASSES_POPSCREEN_H */
3489 #endif
3491 #ifndef _MUI_CLASSES_CRAWLING_H
3492 #ifndef _MUI_CLASSES_CRAWLING_H
3493 #define _MUI_CLASSES_CRAWLING_H
3496 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3497 $Id$
3500 /****************************************************************************/
3501 /*** Name *******************************************************************/
3502 #define MUIC_Crawling "Crawling.mcc"
3504 /*** Identifier base (for Zune extensions) **********************************/
3505 //#define MUIB_Crawling (MUIB_ZUNE | 0x0000????)
3508 #endif /* _MUI_CLASSES_CRAWLING_H */
3509 #endif
3511 #ifndef _MUI_CLASSES_LEVELMETER_H
3512 #ifndef _MUI_CLASSES_LEVELMETER_H
3513 #define _MUI_CLASSES_LEVELMETER_H
3516 Copyright © 2002-2006, The AROS Development Team. All rights reserved.
3517 $Id$
3520 /*** Name *******************************************************************/
3521 #define MUIC_Levelmeter "Levelmeter.mui"
3523 /*** Identifier base (for Zune extensions) **********************************/
3524 //#define MUIB_Levelmeter (MUIB_ZUNE | 0x????)
3526 /*** Attributes *************************************************************/
3527 #define MUIA_Levelmeter_Label (MUIB_MUI | 0x00420dd5) /* V11 isg STRPTR */
3531 #endif /* _MUI_CLASSES_LEVELMETER_H */
3532 #endif
3534 #ifndef _MUI_CLASSES_KNOB_H
3535 #ifndef _MUI_CLASSES_KNOB_H
3536 #define _MUI_CLASSES_KNOB_H
3539 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3540 $Id$
3543 /*** Name *******************************************************************/
3544 #define MUIC_Knob "Knob.mui"
3546 /*** Identifier base (for Zune extensions) **********************************/
3547 //#define MUIB_Knob (MUIB_ZUNE | 0x????)
3550 #endif /* _MUI_CLASSES_KNOB_H */
3551 #endif
3553 #ifndef _MUI_CLASSES_DTPIC_H
3554 #ifndef _MUI_CLASSES_DTPIC_H
3555 #define _MUI_CLASSES_DTPIC_H
3558 Copyright © 2002-2009, The AROS Development Team. All rights reserved.
3559 $Id$
3562 /*** Name *******************************************************************/
3563 #define MUIC_Dtpic "Dtpic.mui"
3565 /*** Attributes *************************************************************/
3566 #define MUIA_Dtpic_Name (MUIB_MUI|0x00423d72) /* MUI: V18 isg STRPTR */
3569 #endif /* _MUI_CLASSES_DTPIC_H */
3570 #endif
3572 #ifndef _MUI_CLASSES_PALETTE_H
3573 #ifndef _MUI_CLASSES_PALETTE_H
3574 #define _MUI_CLASSES_PALETTE_H
3577 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
3578 $Id$
3581 /*** Name *******************************************************************/
3582 #define MUIC_Palette "Palette.mui"
3584 /*** Identifier base (for Zune extensions) **********************************/
3585 #define MUIB_Palette (MUIB_ZUNE | 0x00008a00)
3587 /*** Attributes *************************************************************/
3588 #define MUIA_Palette_Entries 0x8042a3d8 /* V6 i.g struct MUI_Palette_Entry * */
3589 #define MUIA_Palette_Groupable 0x80423e67 /* V6 isg BOOL */
3590 #define MUIA_Palette_Names 0x8042c3a2 /* V6 isg char ** */
3592 #define MUIV_Palette_Entry_End -1
3594 struct MUI_Palette_Entry
3596 LONG mpe_ID;
3597 ULONG mpe_Red;
3598 ULONG mpe_Green;
3599 ULONG mpe_Blue;
3600 LONG mpe_Group;
3604 #endif /* _MUI_PALETTE_H */
3605 #endif
3607 /**************************************************************************
3608 Zune/MUI Image and Background definition
3609 **************************************************************************/
3610 /* configured by the user within the prefs programm */
3611 #define MUII_WindowBack 0UL
3612 #define MUII_RequesterBack 1UL
3613 #define MUII_ButtonBack 2UL
3614 #define MUII_ListBack 3UL
3615 #define MUII_TextBack 4UL
3616 #define MUII_PropBack 5UL
3617 #define MUII_PopupBack 6UL
3618 #define MUII_SelectedBack 7UL
3619 #define MUII_ListCursor 8UL
3620 #define MUII_ListSelect 9UL
3621 #define MUII_ListSelCur 10UL
3622 #define MUII_ArrowUp 11UL
3623 #define MUII_ArrowDown 12UL
3624 #define MUII_ArrowLeft 13UL
3625 #define MUII_ArrowRight 14UL
3626 #define MUII_CheckMark 15UL
3627 #define MUII_RadioButton 16UL
3628 #define MUII_Cycle 17UL
3629 #define MUII_PopUp 18UL
3630 #define MUII_PopFile 19UL
3631 #define MUII_PopDrawer 20UL
3632 #define MUII_PropKnob 21UL
3633 #define MUII_Drawer 22UL
3634 #define MUII_HardDisk 23UL
3635 #define MUII_Disk 24UL
3636 #define MUII_Chip 25UL
3637 #define MUII_Volume 26UL
3638 #define MUII_RegisterBack 27UL
3639 #define MUII_Network 28UL
3640 #define MUII_Assign 29UL
3641 #define MUII_TapePlay 30UL
3642 #define MUII_TapePlayBack 31UL
3643 #define MUII_TapePause 32UL
3644 #define MUII_TapeStop 33UL
3645 #define MUII_TapeRecord 34UL
3646 #define MUII_GroupBack 35UL
3647 #define MUII_SliderBack 36UL
3648 #define MUII_SliderKnob 37UL
3649 #define MUII_TapeUp 38UL
3650 #define MUII_TapeDown 39UL
3651 #define MUII_PageBack 40UL
3652 #define MUII_ReadListBack 41UL
3653 #define MUII_Count 42UL
3655 /* direct color's and combinations */
3656 #define MUII_BACKGROUND 128UL
3657 #define MUII_SHADOW 129UL
3658 #define MUII_SHINE 130UL
3659 #define MUII_FILL 131UL
3660 #define MUII_SHADOWBACK 132UL
3661 #define MUII_SHADOWFILL 133UL
3662 #define MUII_SHADOWSHINE 134UL
3663 #define MUII_FILLBACK 135UL
3664 #define MUII_FILLSHINE 136UL
3665 #define MUII_SHINEBACK 137UL
3666 #define MUII_FILLBACK2 138UL
3667 #define MUII_HSHINEBACK 139UL
3668 #define MUII_HSHADOWBACK 140UL
3669 #define MUII_HSHINESHINE 141UL
3670 #define MUII_HSHADOWSHADOW 142UL
3671 #define MUII_MARKSHINE 143UL
3672 #define MUII_MARKHALFSHINE 144UL
3673 #define MUII_MARKBACKGROUND 145UL
3674 #define MUII_LASTPAT 146UL
3677 /**************************************************************************
3678 For ARexx
3679 **************************************************************************/
3680 struct MUI_Command
3682 char *mc_Name;
3683 char *mc_Template;
3684 LONG mc_Parameters;
3685 struct Hook *mc_Hook;
3686 LONG mc_Reserved[5];
3689 #define MC_TEMPLATE_ID ((STRPTR)~0)
3691 #define MUI_RXERR_BADDEFINITION -1
3692 #define MUI_RXERR_OUTOFMEMORY -2
3693 #define MUI_RXERR_UNKNOWNCOMMAND -3
3694 #define MUI_RXERR_BADSYNTAX -4
3696 #ifndef _MUI_MACROS_H
3697 #ifndef _MUI_MACROS_H
3698 #define _MUI_MACROS_H
3701 Copyright © 2002-2007, The AROS Development Team. All rights reserved.
3702 $Id$
3704 Macros available in original MUI and also some additional ones.
3707 /* Some nice macrodefinitions for creating your object tree */
3708 #define MenustripObject MUIOBJMACRO_START(MUIC_Menustrip)
3709 #define MenuObject MUIOBJMACRO_START(MUIC_Menu)
3710 #define MenuObjectT(name) MUIOBJMACRO_START(MUIC_Menu), MUIA_Menu_Title, name
3711 #define MenuitemObject MUIOBJMACRO_START(MUIC_Menuitem)
3712 #define WindowObject MUIOBJMACRO_START(MUIC_Window)
3713 #define ImageObject MUIOBJMACRO_START(MUIC_Image)
3714 #define ImagedisplayObject MUIOBJMACRO_START(MUIC_Imagedisplay)
3715 #define BitmapObject MUIOBJMACRO_START(MUIC_Bitmap)
3716 #define BodychunkObject MUIOBJMACRO_START(MUIC_Bodychunk)
3717 #define ChunkyImageObject MUIOBJMACRO_START(MUIC_ChunkyImage)
3718 #define NotifyObject MUIOBJMACRO_START(MUIC_Notify)
3719 #define ApplicationObject MUIOBJMACRO_START(MUIC_Application)
3720 #define TextObject MUIOBJMACRO_START(MUIC_Text)
3721 #define RectangleObject MUIOBJMACRO_START(MUIC_Rectangle)
3722 #define BalanceObject MUIOBJMACRO_START(MUIC_Balance)
3723 #define ListObject MUIOBJMACRO_START(MUIC_List)
3724 #define PropObject MUIOBJMACRO_START(MUIC_Prop)
3725 #define StringObject MUIOBJMACRO_START(MUIC_String)
3726 #define ScrollbarObject MUIOBJMACRO_START(MUIC_Scrollbar)
3727 #define ListviewObject MUIOBJMACRO_START(MUIC_Listview)
3728 #define RadioObject MUIOBJMACRO_START(MUIC_Radio)
3729 #define VolumelistObject MUIOBJMACRO_START(MUIC_Volumelist)
3730 #define FloattextObject MUIOBJMACRO_START(MUIC_Floattext)
3731 #define DirlistObject MUIOBJMACRO_START(MUIC_Dirlist)
3732 #define CycleObject MUIOBJMACRO_START(MUIC_Cycle)
3733 #define GaugeObject MUIOBJMACRO_START(MUIC_Gauge)
3734 #define ScaleObject MUIOBJMACRO_START(MUIC_Scale)
3735 #define NumericObject MUIOBJMACRO_START(MUIC_Numeric)
3736 #define SliderObject MUIOBJMACRO_START(MUIC_Slider)
3737 #define NumericbuttonObject MUIOBJMACRO_START(MUIC_Numericbutton)
3738 #define KnobObject MUIOBJMACRO_START(MUIC_Knob)
3739 #define LevelmeterObject MUIOBJMACRO_START(MUIC_Levelmeter)
3740 #define BoopsiObject MUIOBJMACRO_START(MUIC_Boopsi)
3741 #define ColorfieldObject MUIOBJMACRO_START(MUIC_Colorfield)
3742 #define PenadjustObject MUIOBJMACRO_START(MUIC_Penadjust)
3743 #define ColoradjustObject MUIOBJMACRO_START(MUIC_Coloradjust)
3744 #define PaletteObject MUIOBJMACRO_START(MUIC_Palette)
3745 #define GroupObject MUIOBJMACRO_START(MUIC_Group)
3746 #define RegisterObject MUIOBJMACRO_START(MUIC_Register)
3747 #define VirtgroupObject MUIOBJMACRO_START(MUIC_Virtgroup)
3748 #define ScrollgroupObject MUIOBJMACRO_START(MUIC_Scrollgroup)
3749 #define PopstringObject MUIOBJMACRO_START(MUIC_Popstring)
3750 #define PopobjectObject MUIOBJMACRO_START(MUIC_Popobject)
3751 #define PoplistObject MUIOBJMACRO_START(MUIC_Poplist)
3752 #define PopscreenObject MUIOBJMACRO_START(MUIC_Popscreen)
3753 #define PopaslObject MUIOBJMACRO_START(MUIC_Popasl)
3754 #define PendisplayObject MUIOBJMACRO_START(MUIC_Pendisplay)
3755 #define PoppenObject MUIOBJMACRO_START(MUIC_Poppen)
3756 #define CrawlingObject MUIOBJMACRO_START(MUIC_Crawling)
3757 /* The following in zune only */
3758 #define PopimageObject MUIOBJMACRO_START(MUIC_Popimage)
3759 #define PopframeObject MUIOBJMACRO_START(MUIC_Popframe)
3760 #define AboutmuiObject MUIOBJMACRO_START(MUIC_Aboutmui)
3761 #define ScrmodelistObject MUIOBJMACRO_START(MUIC_Scrmodelist)
3762 #define KeyentryObject MUIOBJMACRO_START(MUIC_Keyentry)
3763 #define VGroup MUIOBJMACRO_START(MUIC_Group)
3764 #define HGroup MUIOBJMACRO_START(MUIC_Group), MUIA_Group_Horiz, TRUE
3765 #define ColGroup(columns) MUIOBJMACRO_START(MUIC_Group), MUIA_Group_Columns, (columns)
3766 #define RowGroup(rows) MUIOBJMACRO_START(MUIC_Group), MUIA_Group_Rows , (rows)
3767 #define PageGroup MUIOBJMACRO_START(MUIC_Group), MUIA_Group_PageMode, TRUE
3768 #define VGroupV MUIOBJMACRO_START(MUIC_Virtgroup)
3769 #define HGroupV MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_Horiz, TRUE
3770 #define ColGroupV(columns) MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_Columns, (columns)
3771 #define RowGroupV(rows) MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_Rows , (rows)
3772 #define PageGroupV MUIOBJMACRO_START(MUIC_Virtgroup), MUIA_Group_PageMode, TRUE
3773 #define RegisterGroup(ts) MUIOBJMACRO_START(MUIC_Register), MUIA_Register_Titles, ((IPTR) (ts))
3775 #define End OBJMACRO_END
3777 #define Child MUIA_Group_Child
3778 #define SubWindow MUIA_Application_Window
3779 #define WindowContents MUIA_Window_RootObject
3782 /**************************************************************************
3783 Zune/MUI's differnt frame types. Use one per object
3784 **************************************************************************/
3785 #define NoFrame MUIA_Frame, MUIV_Frame_None
3786 #define ButtonFrame MUIA_Frame, MUIV_Frame_Button
3787 #define ImageButtonFrame MUIA_Frame, MUIV_Frame_ImageButton
3788 #define TextFrame MUIA_Frame, MUIV_Frame_Text
3789 #define StringFrame MUIA_Frame, MUIV_Frame_String
3790 #define ReadListFrame MUIA_Frame, MUIV_Frame_ReadList
3791 #define InputListFrame MUIA_Frame, MUIV_Frame_InputList
3792 #define PropFrame MUIA_Frame, MUIV_Frame_Prop
3793 #define SliderFrame MUIA_Frame, MUIV_Frame_Slider
3794 #define GaugeFrame MUIA_Frame, MUIV_Frame_Gauge
3795 #define VirtualFrame MUIA_Frame, MUIV_Frame_Virtual
3796 #define GroupFrame MUIA_Frame, MUIV_Frame_Group
3797 #define GroupFrameT(t) MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, ((IPTR) (t)), MUIA_Background, MUII_GroupBack
3800 /**************************************************************************
3801 Space objects
3802 **************************************************************************/
3803 #define HVSpace MUI_NewObject(MUIC_Rectangle,TAG_DONE)
3804 #define HSpace(x) MUI_MakeObject(MUIO_HSpace,x)
3805 #define VSpace(x) MUI_MakeObject(MUIO_VSpace,x)
3806 #define HBar(x) MUI_MakeObject(MUIO_HBar,x)
3807 #define VBar(x) MUI_MakeObject(MUIO_VBar,x)
3808 #define HCenter(obj) (HGroup, GroupSpacing(0), Child, (IPTR)HSpace(0), Child, (IPTR)(obj), Child, (IPTR)HSpace(0), End)
3809 #define VCenter(obj) (VGroup, GroupSpacing(0), Child, (IPTR)VSpace(0), Child, (IPTR)(obj), Child, (IPTR)VSpace(0), End)
3810 #define InnerSpacing(h,v) MUIA_InnerLeft,(h),MUIA_InnerRight,(h),MUIA_InnerTop,(v),MUIA_InnerBottom,(v)
3811 #define GroupSpacing(x) MUIA_Group_Spacing,x
3813 #ifdef MUI_OBSOLETE
3814 /**************************************************************************
3815 These macros will create a simple string gadget. Don't use this in
3816 new code. Use MUI_MakeObject() instead.
3817 **************************************************************************/
3818 #define String(contents,maxlen)\
3819 StringObject,\
3820 StringFrame,\
3821 MUIA_String_MaxLen , maxlen,\
3822 MUIA_String_Contents, contents,\
3825 #define KeyString(contents,maxlen,controlchar)\
3826 StringObject,\
3827 StringFrame,\
3828 MUIA_ControlChar , controlchar,\
3829 MUIA_String_MaxLen , maxlen,\
3830 MUIA_String_Contents, contents,\
3833 #endif
3835 #ifdef MUI_OBSOLETE
3836 /**************************************************************************
3837 These macros will create a simple checkmark gadget. Don't use this in
3838 new code. Use MUI_MakeObject() instead.
3839 **************************************************************************/
3840 #define CheckMark(sel) ImageObject, ImageButtonFrame, MUIA_InputMode, MUIV_InputMode_Toggle, MUIA_Image_Spec, MUII_CheckMark, MUIA_Image_FreeVert, TRUE, MUIA_Background, MUII_ButtonBack, MUIA_ShowSelState, FALSE, MUIA_Selected, sel, End
3841 #define KeyCheckMark(sel,ctrl) ImageObject, ImageButtonFrame, MUIA_InputMode, MUIV_InputMode_Toggle, MUIA_Image_Spec, MUII_CheckMark, MUIA_Image_FreeVert, TRUE, MUIA_Background, MUII_ButtonBack, MUIA_ShowSelState, FALSE, MUIA_Selected, sel, MUIA_ControlChar, ctrl, End
3842 #endif
3845 /**************************************************************************
3846 These macros will create a simple button. It's simply calling
3847 MUI_MakeObject()
3848 **************************************************************************/
3849 #define SimpleButton(label) MUI_MakeObject(MUIO_Button,(IPTR)(label))
3850 #define ImageButton(label, imagePath) MUI_MakeObject(MUIO_ImageButton, (IPTR) (label), (IPTR) (imagePath))
3852 #define CoolImageButton(label,image) MUI_MakeObject(MUIO_CoolButton, (IPTR)(label), (IPTR)(image), 0)
3853 #define CoolImageIDButton(label,imageid) MUI_MakeObject(MUIO_CoolButton, (IPTR)(label), imageid, MUIO_CoolButton_CoolImageID)
3855 #ifdef MUI_OBSOLETE
3856 /**************************************************************************
3857 A Keybutton macro. The key should be in lower case.
3858 Don't use this in new code. Use MUI_MakeObject() instead.
3859 **************************************************************************/
3860 #define KeyButton(name,key) TextObject, ButtonFrame, MUIA_Font, MUIV_Font_Button, MUIA_Text_Contents, (IPTR)(name), MUIA_Text_PreParse, "\33c", MUIA_Text_HiChar, (IPTR)(key), MUIA_ControlChar, key, MUIA_InputMode, MUIV_InputMode_RelVerify, MUIA_Background, MUII_ButtonBack, End
3861 #endif
3864 #ifdef MUI_OBSOLETE
3865 /**************************************************************************
3866 Obsolette Cycle macros
3867 **************************************************************************/
3868 #define Cycle(ent) CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, ent, End
3869 #define KeyCycle(ent,key) CycleObject, MUIA_Font, MUIV_Font_Button, MUIA_Cycle_Entries, ent, MUIA_ControlChar, key, End
3871 /**************************************************************************
3872 Obsolette Radios macros
3873 **************************************************************************/
3874 #define Radio(name,array) RadioObject, GroupFrameT(name), MUIA_Radio_Entries, (IPTR)(array), End
3875 #define KeyRadio(name,array,key) RadioObject, GroupFrameT(name), MUIA_Radio_Entries, (IPTR)(array), MUIA_ControlChar, (IPTR)(key), End
3877 /**************************************************************************
3878 Obsolette Slider macros
3879 **************************************************************************/
3880 #define Slider(min,max,level) SliderObject, MUIA_Numeric_Min, min, MUIA_Numeric_Max, max, MUIA_Numeric_Value, level, End
3881 #define KeySlider(min,max,level,key) SliderObject, MUIA_Numeric_Min, min, MUIA_Numeric_Max, max, MUIA_Numeric_Value, level, MUIA_ControlChar, key, End
3882 #endif
3886 /**************************************************************************
3887 Use this for getting a pop button
3888 **************************************************************************/
3889 #define PopButton(img) MUI_MakeObject(MUIO_PopButton, img)
3892 /**************************************************************************
3893 Macros for Labelobjects
3894 Use them for example in a group containing 2 columns, in the first
3895 columns the label and in the second columns the object.
3897 These objects should be uses because the user might have set strange
3898 values.
3900 xxxLabel() is suited for Objects without frame
3901 xxxLabel1() is suited for objects with a single frame, like buttons
3902 xxxLabel2() is suited for objects with with double frames, like string gadgets
3903 **************************************************************************/
3905 /* Right aligned */
3906 #define Label(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), 0)
3907 #define Label1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_SingleFrame)
3908 #define Label2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_DoubleFrame)
3910 /* Left aligned */
3911 #define LLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_LeftAligned)
3912 #define LLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_LeftAligned | MUIO_Label_SingleFrame)
3913 #define LLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame)
3915 /* Centered */
3916 #define CLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_Centered)
3917 #define CLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_Centered | MUIO_Label_SingleFrame)
3918 #define CLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_Centered | MUIO_Label_DoubleFrame)
3920 /* Freevert - Right aligned */
3921 #define FreeLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert)
3922 #define FreeLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_SingleFrame)
3923 #define FreeLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_DoubleFrame)
3925 /* Freevert - Left aligned */
3926 #define FreeLLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_LeftAligned)
3927 #define FreeLLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_SingleFrame)
3928 #define FreeLLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame)
3930 /* Freevert - Centered */
3931 #define FreeCLabel(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_Centered)
3932 #define FreeCLabel1(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_SingleFrame)
3933 #define FreeCLabel2(label) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_DoubleFrame)
3935 /* The same as above + keys */
3936 #define KeyLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), key)
3937 #define KeyLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_SingleFrame | (key))
3938 #define KeyLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_DoubleFrame | (key))
3939 #define KeyLLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_LeftAligned | (key))
3940 #define KeyLLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_LeftAligned | MUIO_Label_SingleFrame|(key))
3941 #define KeyLLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame|(key))
3942 #define KeyCLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_Centered | (key))
3943 #define KeyCLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_Centered | MUIO_Label_SingleFrame|(key))
3944 #define KeyCLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_Centered | MUIO_Label_DoubleFrame|(key))
3946 #define FreeKeyLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | (key))
3947 #define FreeKeyLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_SingleFrame | (key))
3948 #define FreeKeyLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_DoubleFrame | (key))
3949 #define FreeKeyLLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_LeftAligned | (key))
3950 #define FreeKeyLLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_SingleFrame | (key))
3951 #define FreeKeyLLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_LeftAligned | MUIO_Label_DoubleFrame | (key))
3952 #define FreeKeyCLabel(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_Centered | (key))
3953 #define FreeKeyCLabel1(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_SingleFrame | (key))
3954 #define FreeKeyCLabel2(label,key) MUI_MakeObject(MUIO_Label, (IPTR)(label), MUIO_Label_FreeVert | MUIO_Label_Centered | MUIO_Label_DoubleFrame | (key))
3957 /* Some macros */
3958 #ifndef __cplusplus
3960 #ifdef __GNUC__
3961 #define get(obj, attr, storage) \
3962 ({ \
3963 union { \
3964 IPTR __zune_get_storage; \
3965 typeof(*storage) __zune_val_storage; \
3966 } __tmp; \
3967 __tmp.__zune_val_storage = *storage; \
3968 ULONG __zune_get_ret = GetAttr((attr), (obj), &__tmp.__zune_get_storage); \
3969 *(storage) = __tmp.__zune_val_storage; \
3970 __zune_get_ret; \
3972 #else /* !__GNUC__ */
3973 #define get(obj,attr,store) GetAttr(attr,obj,(IPTR *)store)
3974 #endif /* !__GNUC__ */
3976 #ifdef __GNUC__
3977 #define XGET(object, attribute) \
3978 ({ \
3979 IPTR __storage = 0; \
3980 GetAttr((attribute), (object), &__storage); \
3981 __storage; \
3983 #endif /* __GNUC__ */
3985 #define set(obj,attr,value) SetAttrs(obj,attr,(IPTR)(value),TAG_DONE)
3986 #define nnset(obj,attr,value) SetAttrs(obj,MUIA_NoNotify,TRUE,attr,(IPTR)(value),TAG_DONE)
3988 /* Zune */
3989 #define nfset(obj,attr,value) SetAttrs(obj,MUIA_Group_Forward,FALSE,attr,(IPTR)(value),TAG_DONE)
3990 #define nnfset(obj,attr,value) SetAttrs(obj,MUIA_Group_Forward,FALSE,MUIA_NoNotify,TRUE,attr,(IPTR)(value),TAG_DONE)
3992 /* Some aliases... */
3993 #define GET(obj,attr,store) get(obj,attr,store)
3994 #define SET(obj,attr,value) set(obj,attr,value)
3995 #define NNSET(obj,attr,value) nnset(obj,attr,value)
3996 #define NFSET(obj,attr,value) nfset(obj,attr,value)
3997 #define NNFSET(obj,attr,value) nnfset(obj,attr,value)
3999 #define setmutex(obj,n) set(obj,MUIA_Radio_Active,n)
4000 #define setcycle(obj,n) set(obj,MUIA_Cycle_Active,n)
4001 #define setstring(obj,s) set(obj,MUIA_String_Contents,(IPTR)(s))
4002 #define setcheckmark(obj,b) set(obj,MUIA_Selected,b)
4003 #define setslider(obj,l) set(obj,MUIA_Numeric_Value,l)
4005 #endif /* __cplusplus */
4008 /* We need the notify and area Instace Data at least here, but this stuff should be placed at the button anywhy */
4009 #ifndef _MUI_CLASSES_NOTIFY_H
4010 #endif
4012 #ifndef _MUI_CLASSES_AREA_H
4013 #endif
4015 struct __dummyAreaData__
4017 struct MUI_NotifyData mnd;
4018 struct MUI_AreaData mad;
4021 #define muiNotifyData(obj) (&(((struct __dummyAreaData__ *)(obj))->mnd))
4022 #define muiAreaData(obj) (&(((struct __dummyAreaData__ *)(obj))->mad))
4024 #define muiGlobalInfo(obj) (((struct __dummyAreaData__ *)(obj))->mnd.mnd_GlobalInfo)
4025 #define muiUserData(obj) (((struct __dummyAreaData__ *)(obj))->mnd.mnd_UserData)
4026 #define muiRenderInfo(obj) (((struct __dummyAreaData__ *)(obj))->mad.mad_RenderInfo)
4029 /* the following macros are only valid inbetween MUIM_Setup and MUIM_Cleanup */
4030 #define _app(obj) (muiGlobalInfo(obj)->mgi_ApplicationObject)
4031 #define _win(obj) (muiRenderInfo(obj)->mri_WindowObject)
4032 #define _dri(obj) (muiRenderInfo(obj)->mri_DrawInfo)
4033 #define _screen(obj) (muiRenderInfo(obj)->mri_Screen)
4034 #define _pens(obj) (muiRenderInfo(obj)->mri_Pens)
4035 #define _font(obj) (muiAreaData(obj)->mad_Font)
4037 /* the following macros are only valid during MUIM_Draw */
4038 #define _left(obj) (muiAreaData(obj)->mad_Box.Left)
4039 #define _top(obj) (muiAreaData(obj)->mad_Box.Top)
4040 #define _width(obj) (muiAreaData(obj)->mad_Box.Width)
4041 #define _height(obj) (muiAreaData(obj)->mad_Box.Height)
4042 #define _right(obj) (_left(obj) + _width(obj) - 1)
4043 #define _bottom(obj) (_top(obj) + _height(obj) - 1)
4044 #define _addleft(obj) (muiAreaData(obj)->mad_addleft )
4045 #define _addtop(obj) (muiAreaData(obj)->mad_addtop )
4046 #define _subwidth(obj) (muiAreaData(obj)->mad_subwidth )
4047 #define _subheight(obj) (muiAreaData(obj)->mad_subheight)
4048 #define _mleft(obj) (_left(obj) + _addleft(obj))
4049 #define _mtop(obj) (_top(obj) + _addtop(obj))
4050 #define _mwidth(obj) (_width(obj) - _subwidth(obj))
4051 #define _mheight(obj) (_height(obj) - _subheight(obj))
4052 #define _mright(obj) (_mleft(obj) + _mwidth(obj) - 1)
4053 #define _mbottom(obj) (_mtop(obj) + _mheight(obj) - 1)
4055 /* the following macros are only valid inbetween MUIM_Show and MUIM_Hide */
4056 #define _window(obj) (muiRenderInfo(obj)->mri_Window)
4057 #define _rp(obj) (muiRenderInfo(obj)->mri_RastPort)
4058 #define _minwidth(obj) (muiAreaData(obj)->mad_MinMax.MinWidth)
4059 #define _minheight(obj) (muiAreaData(obj)->mad_MinMax.MinHeight)
4060 #define _maxwidth(obj) (muiAreaData(obj)->mad_MinMax.MaxWidth)
4061 #define _maxheight(obj) (muiAreaData(obj)->mad_MinMax.MaxHeight)
4062 #define _defwidth(obj) (muiAreaData(obj)->mad_MinMax.DefWidth)
4063 #define _defheight(obj) (muiAreaData(obj)->mad_MinMax.DefHeight)
4064 #define _flags(obj) (muiAreaData(obj)->mad_Flags)
4068 #endif /* _MUI_MACROS_H */
4069 #endif
4071 #endif /* LIBRARIES_MUIAROS_H */