Build it.
[AROS-Contrib.git] / scalos / include / MUIundoc.h
blob5e36f4d4c77bacbf5d34067f1b985a1e18258fde
1 /***************************************************************************
2 ** The Hacker's include to MUI v1.8 :-)
3 **
4 ** Copyright 1997-98 by Alessandro Zummo
5 ** azummo@ita.flashnet.it
6 **
7 ** This include is unofficial, use at your own risk!
8 **
9 ** You can also find other undocumented tags in libraries/mui.h :-)
11 ****************************************************************************
12 ** Class Tree
13 ****************************************************************************
15 ** rootclass (BOOPSI's base class)
16 ** +--Notify (implements notification mechanism)
17 ** ! +--Area (base class for all GUI elements)
18 ** ! +--Framedisplay (displays frame specification)
19 ** ! ! \--Popframe (popup button to adjust a frame spec)
20 ** ! +--Imagedisplay (displays image specification)
21 ** ! ! \--Popimage (popup button to adjust an image spec)
22 ** ! +--Pendisplay (displays a pen specification)
23 ** ! ! \--Poppen (popup button to adjust a pen spec)
24 ** ! +--Group (groups other GUI elements)
25 ** ! +--Register (handles page groups with titles)
26 ** ! ! \--Penadjust (group to adjust a pen)
27 ** ! +--Frameadjust (group to adjust a frame)
28 ** ! +--Imageadjust (group to adjust an image)
33 #ifndef MUI_UNDOC_H
34 #define MUI_UNDOC_H
37 //Uncomment this if you want be able to use all the undocumented features
38 //But remember to modify your libraries/mui.h include
40 //#define UNDOC_HACK
43 /*************************************************************************
44 ** Black box specification structures for images, pens, frames
45 *************************************************************************/
47 /* Defined in mui.h
48 struct MUI_PenSpec
50 char buf[32];
54 struct MUI_ImageSpec
56 char buf[64];
59 struct MUI_FrameSpec
61 char buf[32];
65 // I'm not sure if MUI_ImageSpec and MUI_FrameSpec are 32 or 64 bytes wide.
67 /*************************************************************************
68 ** The real MUI_NotifyData structure
69 *************************************************************************/
71 #ifdef UNDOC_HACK
73 struct MUI_NotifyData
75 struct MUI_GlobalInfo *mnd_GlobalInfo;
76 ULONG mnd_UserData;
77 ULONG mnd_ObjectID;
78 ULONG priv1;
79 Object *mnd_ParentObject; // The name may not be the real one
80 ULONG priv3;
81 ULONG priv4;
84 #define _parent(obj) (muiNotifyData(obj)->mnd_ParentObject) /* valid between MUIM_Setup/Cleanup */
86 #else
88 #define _parent(obj) xget(obj,MUIA_Parent)
90 #endif
93 // The use of _parent(obj) macro is strictly forbidden! Use xget(obj,MUIA_Parent) instead.
96 /****************************************************************************/
97 /** Flags **/
98 /****************************************************************************/
100 #define MADF_OBJECTVISIBLE (1<<14) // The object is visible
102 #define MUIMRI_INVIRTUALGROUP (1<<29) // The object is inside a virtual group
103 #define MUIMRI_ISVIRTUALGROUP (1<<30) // The object is a virtual group
106 /****************************************************************************/
107 /** Crawling **/
108 /****************************************************************************/
110 #ifdef _DCC
111 extern char MUIC_Crawling[];
112 #else
113 #define MUIC_Crawling "Crawling.mcc"
114 #endif
116 #define CrawlingObject MUI_NewObject(MUIC_Crawling
119 /****************************************************************************/
120 /** Application **/
121 /****************************************************************************/
123 /* Attributes */
125 #define MUIA_Application_UsedClasses 0x8042E9A7 /* V20 (!) */
128 /****************************************************************************/
129 /** Window **/
130 /****************************************************************************/
132 /* Methods */
134 #define MUIM_Window_ActionIconify 0x80422cc0 /* V18 */
135 #define MUIM_Window_Cleanup 0x8042ab26 /* Custom Class */ /* V18 */
136 #define MUIM_Window_Setup 0x8042c34c /* Custom Class */ /* V18 */
138 struct MUIP_Window_Cleanup { ULONG MethodID; }; /* Custom Class */
139 struct MUIP_Window_Setup { ULONG MethodID; }; /* Custom Class */
141 /* Attributes */
143 #define MUIA_Window_DisableKeys 0x80424c36 /* V15 isg ULONG */
146 /****************************************************************************/
147 /** Area **/
148 /****************************************************************************/
150 /* Methods */
152 #define MUIM_DoDrag 0x804216bb /* V18 */ /* Custom Class */
153 #define MUIM_CreateDragImage 0x8042eb6f /* V18 */ /* Custom Class */
154 #define MUIM_DeleteDragImage 0x80423037 /* V18 */ /* Custom Class */
155 #define MUIM_GoActive 0x8042491a
156 #define MUIM_GoInactive 0x80422c0c
157 #define MUIM_CustomBackfill 0x80428d73
159 struct MUIP_CustomBackfill { ULONG MethodID; LONG left; LONG top; LONG right; LONG bottom; LONG xoffset; LONG yoffset; };
160 struct MUIP_DeleteDragImage { ULONG MethodID; struct MUI_DragImage *di; }; /* Custom Class */
161 struct MUIP_CreateDragImage { ULONG MethodID; LONG touchx; LONG touchy; ULONG flags; }; /* Custom Class */
162 struct MUIP_DoDrag { ULONG MethodID; LONG touchx; LONG touchy; ULONG flags; }; /* Custom Class */
164 /* Attributes */
166 #define MUIA_CustomBackfill 0x80420a63
169 #define MUIV_CreateBubble_DontHidePointer (1<<0)
171 struct MUI_DragImage
173 struct BitMap *bm;
174 WORD width; /* exact width and height of bitmap */
175 WORD height;
176 WORD touchx; /* position of pointer click relative to bitmap */
177 WORD touchy;
178 ULONG flags; /* must be set to 0 */
182 /****************************************************************************/
183 /** Imagedisplay **/
184 /****************************************************************************/
186 /* Attributes */
188 #define MUIA_Imagedisplay_Spec 0x8042a547 /* V11 isg struct MUI_ImageSpec * */
191 /****************************************************************************/
192 /** Imageadjust **/
193 /****************************************************************************/
195 /* Attributes */
197 #define MUIA_Imageadjust_Type 0x80422f2b /* V11 i.. LONG */
200 /****************************************************************************/
201 /** Framedisplay **/
202 /****************************************************************************/
204 /* Attributes */
206 #define MUIA_Framedisplay_Spec 0x80421794 /* isg struct MUI_FrameSpec * */
209 /****************************************************************************/
210 /** Prop **/
211 /****************************************************************************/
213 /* Attributes */
215 #ifndef MUIA_Prop_DeltaFactor
216 #define MUIA_Prop_DeltaFactor 0x80427c5e /* V4 .s. LONG */
217 #endif /* MUIA_Prop_DeltaFactor */
218 #define MUIA_Prop_DoSmooth 0x804236ce /* V4 i.. LONG */
219 #define MUIA_Prop_Release 0x80429839 /* V? g BOOL */ /* private */
220 #define MUIA_Prop_Pressed 0x80422cd7 /* V6 g BOOL */ /* private */
223 /****************************************************************************/
224 /** Group **/
225 /****************************************************************************/
227 /* Attributes */
229 #define MUIA_Group_Forward 0x80421422 /* V11 .s. BOOL */
231 /****************************************************************************/
232 /** List **/
233 /****************************************************************************/
235 /* Attributes */
237 #define MUIA_List_Prop_Entries 0x8042a8f5 /* V? ??? */
238 #define MUIA_List_Prop_Visible 0x804273e9 /* V? ??? */
239 #define MUIA_List_Prop_First 0x80429df3 /* V? ??? */
242 /****************************************************************************/
243 /** Text **/
244 /****************************************************************************/
246 /* Attributes */
248 #define MUIA_Text_HiCharIdx 0x804214f5
251 /****************************************************************************/
252 /** Dtpic **/
253 /****************************************************************************/
255 /* Attributes */
257 #define MUIA_Dtpic_Name 0x80423d72
260 #endif /* MUI_UNDOC_H */