2 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
6 #ifndef _MUIMASTER_SUPPORT_CLASSES_H
7 #define _MUIMASTER_SUPPORT_CLASSES_H
10 #include <exec/types.h>
13 #ifndef INTUITION_CLASSUSR_H
14 #include <intuition/classusr.h>
18 #include <clib/macros.h>
23 #if ZUNE_BUILTIN_ABOUTMUI
24 # define ZUNE_ABOUTMUI_DESC (&_MUI_Aboutmui_desc),
26 # define ZUNE_ABOUTMUI_DESC
29 #if ZUNE_BUILTIN_BOOPSI
30 # define ZUNE_BOOPSI_DESC (&_MUI_Boopsi_desc),
32 # define ZUNE_BOOPSI_DESC
35 #if ZUNE_BUILTIN_BALANCE
36 # define ZUNE_BALANCE_DESC (&_MUI_Balance_desc),
38 # define ZUNE_BALANCE_DESC
41 #if ZUNE_BUILTIN_COLORADJUST
42 # define ZUNE_COLORADJUST_DESC (&_MUI_Coloradjust_desc),
44 # define ZUNE_COLORADJUST_DESC
47 #if ZUNE_BUILTIN_COLORFIELD
48 # define ZUNE_COLORFIELD_DESC (&_MUI_Colorfield_desc),
50 # define ZUNE_COLORFIELD_DESC
53 #if ZUNE_BUILTIN_FRAMEADJUST
54 # define ZUNE_FRAMEADJUST_DESC (&_MUI_Frameadjust_desc),
56 # define ZUNE_FRAMEADJUST_DESC
59 #if ZUNE_BUILTIN_FRAMEDISPLAY
60 # define ZUNE_FRAMEDISPLAY_DESC (&_MUI_Framedisplay_desc),
62 # define ZUNE_FRAMEDISPLAY_DESC
65 #if ZUNE_BUILTIN_GAUGE
66 # define ZUNE_GAUGE_DESC (&_MUI_Gauge_desc),
68 # define ZUNE_GAUGE_DESC
71 #if ZUNE_BUILTIN_ICONLISTVIEW
72 # define ZUNE_ICONLISTVIEW_DESC (&_MUI_IconListview_desc),
74 # define ZUNE_ICONLISTVIEW_DESC
77 #if ZUNE_BUILTIN_IMAGEADJUST
78 # define ZUNE_IMAGEADJUST_DESC (&_MUI_Imageadjust_desc),
80 # define ZUNE_IMAGEADJUST_DESC
83 #if ZUNE_BUILTIN_IMAGEDISPLAY
84 # define ZUNE_IMAGEDISPLAY_DESC (&_MUI_Imagedisplay_desc),
86 # define ZUNE_IMAGEDISPLAY_DESC
89 #if ZUNE_BUILTIN_PENADJUST
90 # define ZUNE_PENADJUST_DESC (&_MUI_Penadjust_desc),
92 # define ZUNE_PENADJUST_DESC
95 #if ZUNE_BUILTIN_PENDISPLAY
96 # define ZUNE_PENDISPLAY_DESC (&_MUI_Pendisplay_desc),
98 # define ZUNE_PENDISPLAY_DESC
101 #if ZUNE_BUILTIN_POPASL
102 # define ZUNE_POPASL_DESC (&_MUI_Popasl_desc),
104 # define ZUNE_POPASL_DESC
107 #if ZUNE_BUILTIN_POPFRAME
108 # define ZUNE_POPFRAME_DESC (&_MUI_Popframe_desc),
110 # define ZUNE_POPFRAME_DESC
113 #if ZUNE_BUILTIN_POPIMAGE
114 # define ZUNE_POPIMAGE_DESC (&_MUI_Popimage_desc),
116 # define ZUNE_POPIMAGE_DESC
119 #if ZUNE_BUILTIN_POPPEN
120 # define ZUNE_POPPEN_DESC (&_MUI_Poppen_desc),
122 # define ZUNE_POPPEN_DESC
125 #if ZUNE_BUILTIN_RADIO
126 # define ZUNE_RADIO_DESC (&_MUI_Radio_desc),
128 # define ZUNE_RADIO_DESC
131 #if ZUNE_BUILTIN_SCALE
132 # define ZUNE_SCALE_DESC (&_MUI_Scale_desc),
134 # define ZUNE_SCALE_DESC
137 #if ZUNE_BUILTIN_SCROLLGROUP
138 # define ZUNE_SCROLLGROUP_DESC (&_MUI_Scrollgroup_desc),
140 # define ZUNE_SCROLLGROUP_DESC
143 #if ZUNE_BUILTIN_SETTINGSGROUP
144 # define ZUNE_SETTINGSGROUP_DESC (&_MUI_Settingsgroup_desc),
146 # define ZUNE_SETTINGSGROUP_DESC
149 #if ZUNE_BUILTIN_VIRTGROUP
150 # define ZUNE_VIRTGROUP_DESC (&_MUI_Virtgroup_desc),
152 # define ZUNE_VIRTGROUP_DESC
155 #if ZUNE_BUILTIN_VOLUMELIST
156 # define ZUNE_VOLUMELIST_DESC (&_MUI_Volumelist_desc),
158 # define ZUNE_VOLUMELIST_DESC
161 #if ZUNE_BUILTIN_DIRLIST
162 # define ZUNE_DIRLIST_DESC (&_MUI_Dirlist_desc),
164 # define ZUNE_DIRLIST_DESC
167 #if ZUNE_BUILTIN_NUMERICBUTTON
168 # define ZUNE_NUMERICBUTTON_DESC (&_MUI_Numericbutton_desc),
170 # define ZUNE_NUMERICBUTTON_DESC
173 #if ZUNE_BUILTIN_POPLIST
174 # define ZUNE_POPLIST_DESC (&_MUI_Poplist_desc),
176 # define ZUNE_POPLIST_DESC
179 #if ZUNE_BUILTIN_POPSCREEN
180 # define ZUNE_POPSCREEN_DESC (&_MUI_Popscreen_desc),
182 # define ZUNE_POPSCREEN_DESC
185 #if ZUNE_BUILTIN_CRAWLING
186 # define ZUNE_CRAWLING_DESC (&_MUI_Crawling_desc),
188 # define ZUNE_CRAWLING_DESC
191 #if ZUNE_BUILTIN_LEVELMETER
192 # define ZUNE_LEVELMETER_DESC (&_MUI_Levelmeter_desc),
194 # define ZUNE_LEVELMETER_DESC
197 #if ZUNE_BUILTIN_KNOB
198 # define ZUNE_KNOB_DESC (&_MUI_Knob_desc),
200 # define ZUNE_KNOB_DESC
203 #if ZUNE_BUILTIN_DTPIC
204 # define ZUNE_DTPIC_DESC (&_MUI_Dtpic_desc),
206 # define ZUNE_DTPIC_DESC
209 #if ZUNE_BUILTIN_PALETTE
210 # define ZUNE_PALETTE_DESC (&_MUI_Palette_desc),
212 # define ZUNE_PALETTE_DESC
215 Class
*ZUNE_GetBuiltinClass(ClassID className
, struct Library
*mb
);
216 Class
*ZUNE_GetExternalClass(ClassID className
, struct Library
*mb
);
217 Class
*ZUNE_FindBuiltinClass(ClassID className
, struct Library
*mb
);
218 Class
*ZUNE_MakeBuiltinClass(ClassID className
, struct Library
*mb
);
220 #define ZUNE_AddBuiltinClass(cl, mb) \
223 AddTail((struct List *)&MUIMB(mb)->BuiltinClasses, (struct Node *)(cl)); \
224 (cl)->cl_Flags |= CLF_INLIST; \
227 #define ZUNE_RemoveBuiltinClass(cl, mb) \
228 (void)Remove((struct Node *)(cl))
232 IPTR
, metaDispatcher
,
233 AROS_UFPA(struct IClass
*, cl
, A0
),
234 AROS_UFPA(Object
*, obj
, A2
),
235 AROS_UFPA(Msg
, msg
, A1
)
241 #define MCC_Query(x) AROS_LVO_CALL1(struct MUI_CustomClass *, \
242 AROS_LCA(LONG, (x), D0), \
243 struct Library *, mcclib, 5, lib);
249 #include <exec/emulation.h>
251 /* TODO: Use the interface if possible */
252 #define MCC_Query(x ) ({ \
254 _ret = EmulateTags(mcclib, \
257 ET_RegisterA6, mcclib, \
265 struct MUI_CustomClass
*MCC_Query(ULONG d0
);
266 #pragma libcall mcclib MCC_Query 01e 001
273 #endif /* _MUIMASTER_SUPPORT_CLASSES_H */